V.I.P.

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

요약
가중치가 증가하는 순서로 정점을 방문하고 활성 간선만 지나는 경로의 개수를 세되, 간선 하나의 활성 여부를 잠시 뒤집는 질의마다 답을 구한다.
난이도

어려움10점 중 8점

유형
그래프, 동적 계획법, 조합론, 정렬
정답자
아직 제출이 없습니다

문제

정점이 NN개인 완전 그래프 GG와 간선 활성화 정보 MM개와 정점의 가중치 NN개가 주어진다. 처음 모든 간선은 비활성화된 간선이며, 간선 활성화 정보는 아래와 같이 주어진다. MM개의 정보 중 모든 간선은 최대 한 번 활성화된다.

  • ii jj: 정점 ii와 jj를 잇는 간선을 활성화된 간선으로 만든다.

정점의 가중치가 증가하는 순서대로 방문하는 경로 중 비활성화된 간선을 지나가지 않는 경로를 V.I.P.(Very Important Path)라고 한다. 아래와 같은 질의가 주어질 때마다 V.I.P.의 개수를 구해보자.

  • p,qp\\,q: 정점 pp와 qq를 연결하는 간선의 활성화 여부를 반대로 한다. 변경된 그래프의 V.I.P.의 개수를 출력한 뒤 활성화 여부를 원래대로 되돌린다.

입력

첫 번째 줄에 정점의 개수 NN과 활성화된 간선의 개수 MM, 질의의 개수 QQ가 공백으로 구분되어 주어진다. (1≤N≤105;0≤M≤min⁡(N(N−1)2,2×105);1≤Q≤105)(1 \leq N \leq 10^5; 0 \leq M \leq \min(\frac{N(N-1)}{2}, 2 \times 10^5); 1 \leq Q \leq 10^5)

두 번째 줄에 정점들의 가중치 w_1,w_2,…,w_Nw\_1, w\_2, \ldots, w\_N이 공백으로 구분되어 주어진다. w_iw\_i는 ii번 정점의 가중치이다. (1≤w_i≤109)(1 \leq w\_i \leq 10^9)

세 번째 줄부터 M+2M + 2번째 줄까지 i+2i + 2번째 줄에 ii번째 활성화된 간선의 두 끝점 u_i,v_iu\_i, v\_i가 공백으로 구분되어 한 줄씩 주어진다. (1≤u_i,v_i≤N;u_i≠v_i)(1 \leq u\_i, v\_i \leq N; u\_i \neq v\_i)

M+3M + 3번째 줄부터 M+Q+2M + Q + 2번째 줄까지 M+i+2M + i + 2번째 줄에 ii번째 질의 p_i,q_ip\_i, q\_i가 공백으로 구분되어 한 줄씩 주어진다. (1≤p_i,q_i≤N;p_i≠q_i)(1 \leq p\_i, q\_i \leq N; p\_i \neq q\_i)

출력

질의가 주어질 때마다 V.I.P.의 개수를 출력한다. 단, 답이 아주 커질 수 있으므로 109+710^9+7로 나눈 나머지를 출력한다.

힌트

그래프 이론에서 경로란, 같은 정점을 최대 한 번 방문하는 인접한 정점들의 순서이다. 즉, X(X≥1)X(X \geq 1)개의 정점으로 이루어진 정점들의 나열 P=v_1,v_2,⋯ ,v_X−1,v_XP = {v\_1, v\_2, \cdots, v\_{X-1}, v\_X}이 경로가 되는 조건은 i≠ji \neq j일때 v_i≠v_jv\_i \neq v\_j이고, 1≤i≤X−11 \leq i \leq X - 1에 대해서 끝점이 각각 v_i,v_i+1(v_i≠v_i+1)v\_i, v\_{i+1}(v\_i \neq v\_{i+1})인 간선이 존재해야 한다. 증가 수열이란 길이가 nn인 수열 aa에 대해 a_1<a_2<...<a_n−1<a_na\_1 < a\_2 < ... < a\_{n - 1} < a\_n을 만족하는 수열이다.

예제3

  1. 예제 1

    입력
    3 2 2
    1 2 3
    1 2
    2 3
    1 2
    1 3
    
    예상 출력
    4
    7
    
  2. 예제 2

    입력
    4 0 5
    1 2 3 4
    1 2
    2 3
    3 4
    4 1
    1 3
    
    예상 출력
    5
    5
    5
    5
    5
    
  3. 예제 3

    입력
    3 2 1
    1 1 1
    1 2
    1 3
    1 2
    
    예상 출력
    3