시간 제한메모리 제한제출정답맞힌 사람정답 비율
9 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)3911515.625%

문제

$N$개의 정점으로 구성되어 있고, 1번 정점이 루트인 트리가 주어진다. $i$번 정점에는 가치가 $A_i$인 물건이 $B_i$개 놓여있다. ($1 \le i \le N$; $1 \le B_i \le 3$)

1번 정점에 $N$명의 사람이 살고 있다. $i$($1 \le i \le N$)번째 사람은 1번 정점에서 출발해 $i$번 정점으로 최소한의 간선을 통과해서 이동하려고 한다. 이때, 이동하면서 통과하는 정점들에 놓인 물건들 중 원하는 것을 정확히 하나 선택해서 $i$번 정점으로 가지고 가야 한다.

아래 두 가지 종류의 쿼리가 총 $Q$번 주어진다. 쿼리는 누적되며, 여러분은 쿼리가 주어질 때마다 $N$명의 사람이 가지고 간 물건의 가치의 합으로 가능한 최댓값을 구해야 한다.

  • $1$ $k$ $a$: 정점 $k$에 있는 물건의 가치를 $a$로 변경한다.
  • $2$ $k$ $b$: 정점 $k$에 있는 물건의 개수를 $b$로 변경한다.

입력

첫째 줄에 정점의 개수 $N$과 정수 $F$가 공백으로 구분되어 주어진다.

다음 $N$개의 줄에 걸쳐 각 정점에 놓인 물건의 정보가 주어진다. 그중 $i$ ($1 \le i \le N$)번째 줄에는 $A_i$, $B_i$가 공백으로 구분되어 주어진다.

다음 $N-1$개의 줄에는 간선의 정보가 주어진다. 각 줄마다 두 정수 $u$, $v$가 공백으로 구분되어 주어지며, 이는 정점 $u$와 정점 $v$가 간선으로 연결되어 있음을 의미한다.

그다음 줄에 쿼리의 개수 $Q$가 주어진다.

이후 $Q$개의 줄에 걸쳐 쿼리가 입력으로 주어지며, 쿼리는 세 정수 $w$, $x$, $y$로 이루어져 있다. $o = 1$일 때는 정점 $k$에 있는 물건의 가치를 $a$로 바꾸는 쿼리, $o = 2$일 때는 정점 $k$에 있는 물건의 개수를 $b$로 바꾸는 쿼리를 의미한다.

바로 직전 쿼리의 정답을 $p$라고 하면, 쿼리에서 사용되는 수 $o$, $k$, $a$, $b$는 아래 수식을 이용해 계산한다. $p$의 초깃값은 0이다.

  • $o = (p \times F + w - 1 + 2) \mod 2 + 1$
  • $k = (p \times F + x - 1 + N) \mod N + 1$
  • $a = (p \times F + y - 1 + 10^9) \mod 10^9 + 1$
  • $b = (p \times F + y - 1 + 3) \mod 3 + 1$

출력

$Q$개의 줄에 걸쳐 답을 출력한다. $i$ ($1 \le i \le Q$)번째 줄에는 $i$번째 쿼리까지 차례대로 반영된 상황에서, $N$명의 사람이 갖고 간 물건의 가치의 합으로 가능한 최댓값을 출력한다.

제한

  • $2 \le N \le 100\,000$
  • $0 \le F \le 1$
  • $1 \le A_i \le 10^9$ ($1 \le i \le N$)
  • $1 \le B_i \le 3$ ($1 \le i \le N$)
  • $1 \le u,v \le N$
  • $1 \le Q \le 100\,000$
  • $0 \le w,x,y \le 10^9$
  • 입력으로 주어진 그래프는 트리다.
  • 입력으로 주어진 모든 수는 정수다.

서브태스크

번호배점제한
11

모든 $1 \le i \le N$에 대해 $B_i = 1$, 1번 쿼리만 주어짐

211

$N \le 3\,500, Q \le 3\,500$

314

모든 $1 \le i \le N$에 대해 $A_i \le 2$, 1번 쿼리만 주어짐, 물건의 가치는 항상 2 이하임

45

모든 $1 \le i \le N-1$에 대해 $u_i = 1$, $v_i = i+1$

513

모든 $1 \le i \le N-1$에 대해 $u_i = i$, $v_i = i+1$

615

모든 $1 \le i \le N-1$에 대해 $u_i = \lfloor \frac{i+1}{2} \rfloor$, $v_i = i+1$

79

1번 쿼리만 주어짐, 모든 $1 \le i \le N$에 대해 1번 쿼리로 인해 $A_i$의 값이 감소하지 않음

88

$F = 0$, 1번 쿼리만 주어짐

99

2번 쿼리만 주어짐

1015

추가 제약 조건 없음.

예제 입력 1

6 0
1 1
9 1
2 3
10 3
1 3
6 3
1 3
2 5
3 4
6 2
5 3
10
1 5 2
1 5 8
0 0 2
0 3 1
1 2 6
1 2 7
0 0 1
0 3 2
1 2 5
1 1 5

예제 출력 1

30
38
38
38
37
37
37
37
37
41

예제 입력 2

6 1
4 3
2 3
4 1
1 1
8 2
6 3
4 1
5 4
3 4
6 1
2 4
10
1 3 2
1 4 999999980
1 2 999999968
1 3 999999977
1 5 1
1 3 2
0 4 999999971
0 0 0
1 1 999999969
1 2 0

예제 출력 2

28
34
30
35
35
35
34
34
29
27

출처

Contest > LG Collegiate Programming Contest > LGCPC 2025 본선 D번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.