만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

늑대인간

시간 제한4초메모리 제한537 MB

요약
각 여행마다 S에서 E까지 가는 경로가 있는지 판단하며, 경로는 L에서 R 사이의 도시 한 곳에서 변신해야 합니다.
난이도

어려움10점 중 8점

유형
그래프, 유니온 파인드, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

이바라키현에는 NN개의 도시와 MM개의 도로가 있다. 도시는 인구가 적은 순서대로 0부터 N−1N-1까지 번호가 붙어 있다. 각 도로는 서로 다른 두 도시를 잇고, 양방향으로 지날 수 있다. 어떤 도시에서든 도로를 따라 다른 모든 도시로 갈 수 있다.

QQ번의 여행을 계획했다. 여행 ii (0≤i≤Q−10 ≤ i ≤ Q-1)는 도시 SiS_i에서 도시 EiE_i까지 가는 여행이다.

당신은 늑대인간이다. 인간 형태와 늑대 형태가 있다. 여행을 시작할 때는 인간 형태이고, 여행이 끝날 때는 늑대 형태여야 한다. 여행 중에 정확히 한 번 변신해야 한다(인간 형태에서 늑대 형태로 바뀌는 것). 변신은 도시에 있을 때만 할 수 있으며, 그 도시는 SiS_i나 EiE_i일 수도 있다.

인간 형태일 때는 인구가 적은 도시를 피해야 하고, 늑대 형태일 때는 인구가 많은 도시를 피해야 한다. 각 여행 ii마다 피해야 할 도시를 정하는 두 기준 LiL_i와 RiR_i (0≤Li≤Ri≤N−10 ≤ L_i ≤ R_i ≤ N-1)가 있다. 인간 형태에서는 도시 0,1,...,Li−10, 1, ..., L_i-1을 피한다. 늑대 형태에서는 도시 Ri+1,Ri+2,...,N−1R_i+1, R_i+2, ..., N-1을 피한다. 따라서 여행 ii에서는 도시 Li,Li+1,...,RiL_i, L_i+1, ..., R_i 중 한 곳에서만 변신할 수 있다.

각 여행에 대해 이 조건을 모두 지키며 SiS_i에서 EiE_i까지 갈 수 있는지 판단한다. 경로의 길이는 제한이 없다.

제한

2 ≤ NN ≤ 200,000. N−1N-1 ≤ MM ≤ 400,000. 1 ≤ QQ ≤ 200,000. 각 jj (0≤j≤M−10 ≤ j ≤ M-1)에 대해 0 ≤ XjX_j ≤ N−1N-1, 0 ≤ YjY_j ≤ N−1N-1, Xj≠YjX_j ≠ Y_j이다. 어떤 도시에서든 도로를 이용해 다른 모든 도시로 갈 수 있다. 같은 두 도시를 잇는 도로는 최대 하나뿐이다. 각 ii (0≤i≤Q−10 ≤ i ≤ Q-1)에 대해 0 ≤ LiL_i ≤ SiS_i ≤ N−1N-1, 0 ≤ EiE_i ≤ RiR_i ≤ N−1N-1, Si≠EiS_i ≠ E_i, Li≤RiL_i ≤ R_i이다.

예제1

  1. 예제 1

    입력
    2 1
    0 1
    1
    0 1 0 1
    
    예상 출력
    YES