만드는 중입니다

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

모드 그래프

시간 제한1초메모리 제한2048 MB

요약
연결된 그래프에서 정점을 방문할 때마다 카운터가 1 증가하고 b_v에서 0으로 돌아갑니다. 시작점 s에서 걸어서 모든 카운터를 0으로 만들 수 있는지 판단하고, 카운터 값을 바꾸는 쿼리를 처리합니다.
난이도

어려움10점 중 9점

유형
그래프, 정수론, 수학, DFS
정답자
아직 제출이 없습니다

문제

무방향 연결 그래프가 주어진다. 정점은 nn개, 간선은 mm개이다. 각 정점 vv에는 bvb_v를 법으로 하는 카운터가 있고, 초기 값은 ava_v이다. 정점 vv를 방문할 때마다 카운터는 1 증가하여 av←(av+1) mod bva_v \leftarrow (a_v + 1) \bmod b_v가 된다.

쿼리 qq개를 처리한다.

  • 1 s: 정점 ss에서 출발했을 때, 모든 vv에 대해 av=0a_v = 0으로 만들 수 있는지 판단한다. 그래프 GG 위의 임의의 워크를 택할 수 있으며, 간선과 정점은 여러 번 사용해도 된다. 시작 정점 ss에서 출발하는 것도 ss를 방문한 것으로 세므로, ss의 카운터는 처음에 1 증가한다.
  • 2 v x: av←xa_v \leftarrow x로 갱신한다.

입력

첫 줄에 세 정수 nn, mm, qq가 주어진다 (1≤n,q≤5⋅1041 \le n, q \le 5 \cdot 10^4, 0≤m≤1050 \le m \le 10^5). 둘째 줄에는 a1,…,ana_1, \ldots, a_n이, 셋째 줄에는 b1,…,bnb_1, \ldots, b_n이 주어진다 (0≤av<bv≤1090 \le a_v < b_v \le 10^9). 이어지는 mm개의 줄에는 간선의 양 끝 정점 uu, vv가 주어진다 (1≤u,v≤n1 \le u, v \le n, u≠vu \ne v). 주어지는 그래프는 연결되어 있다. 마지막 qq개의 줄에 쿼리가 주어진다.

  • 1 s (1≤s≤n1 \le s \le n)
  • 2 v x (1≤v≤n1 \le v \le n, 0≤x<bv0 \le x < b_v)

출력

1 쿼리마다 모든 vv에 대해 av=0a_v = 0으로 만들 수 있으면 YES, 없으면 NO를 한 줄에 출력한다.

힌트

첫 번째 쿼리에서는 정점 1에서 출발하고, 카운터 상태는 [1,0][1, 0]이다. 워크 1→2→1→2→1→21 \rightarrow 2 \rightarrow 1 \rightarrow 2 \rightarrow 1 \rightarrow 2를 따라가면 카운터 상태는 [1,0]→[1,1]→[2,1]→[2,2]→[0,2]→[0,0][1, 0] \rightarrow [1, 1] \rightarrow [2, 1] \rightarrow [2, 2] \rightarrow [0, 2] \rightarrow [0, 0]으로 바뀐다.

예제1

  1. 예제 1

    입력
    2 1 4
    0 0
    3 3
    1 2
    1 1
    2 1 1
    1 1
    1 2
    
    예상 출력
    YES
    NO
    YES