TopCoder

User's AC Ratio

85.7% (6/7)

Submission's AC Ratio

77.1% (27/35)

Tags

Description

Xenia 是一位程式設計師,他有 26 個兄弟姊妹,分別為 Aenia, Benia, $\dots$, Yenia, Zenia, 和 Willy。

有一天,Xenia 的妹妹 Yenia 買了一棵有 $N$ 個節點的樹,樹上的點編號從 $1$ 到 $N$。
樹上的點分別有紅、藍兩種不同顏色:其中,如果 $c_i = 1$,則點 $i$ 是藍色的,否則點 $i$ 為紅色。

樹上總共有 $N - 1$ 條邊,每條邊的長度均為 $1$,而且從樹上任一個節點開始出發,都能透過一條或多條邊走到任意其他節點。
Yenia 是個怪人,所以他定義樹上兩個點 $u, v$ 的距離為 $u$ 到 $v$ 的最短路徑上需要經過的邊的數量。

怪人 Yenia 想要很快的一直執行這兩種操作:

  • 給定 $x$,把點 $x$ 改變顏色。也就是說,如果點 $x$ 本來是紅色,則把他塗成藍色;如果點 $x$ 本來是藍色,則把他塗成紅色。
  • 給定 $x$,查詢所有藍色點中,離 $x$ 最遠的藍色點跟 $x$ 的距離為何。

注意:因為 Yenia 非常心急,所以本題為強制在線,請特別注意輸入格式

Input Format

第一行輸入兩個整數 $N, K$,其中 $N$ 為樹上的節點個數,$K$ 的意義在接下來會說明。

第二行輸入 $N$ 個整數 $c_1, \dots, c_N$,其中如果 $c_i = 1$,則點 $i$ 是藍色的,否則點 $i$ 為紅色。

接下來的 $N - 1$ 行中,每行有兩個正整數 $a_i, b_i$,代表樹上有一條邊連接 $a_i$ 跟 $b_i$。

接下來一行有一個正整數 $Q$,代表 Yenia 想要執行的操作數量。

接下來的 $Q$ 行中,每一行會有兩個數字 $\text{op v}$,其中 $v$ 不是真正的操作內容。

假設上一個詢問的答案為 $\text{last}$(若之前沒有詢問,則為 $0$),令 $x = (\text{last} \cdot K + v - 1) \pmod{N} + 1$,則 $x$ 為這筆操作的真正內容。

接下來:

  • 如果 $\text{op} = 1$,代表 Yenia 想要改變 $x$ 號點的顏色。
  • 如果 $\text{op} = 2$,代表 Yenia 想要查詢距離 $x$ 最遠的藍色點與 $x$ 的距離是多少。

  • $2 \leq N \leq 2 \times 10 ^ 5$
  • $K = 0$ 或 $K = 1$
  • $1 \leq a_i, b_i \leq N$
  • 輸入的圖為一棵樹
  • $1 \leq Q \leq 2 \times 10 ^ 5$
  • $op = 1$ 或 $op = 2$
  • 如果 $K = 0$,則 $1 \leq v \leq N$ 且 $v = x$
  • 如果 $K = 1$,則 $1 \leq v \leq 2 \cdot N$
  • $1 \leq x \leq N$
  • $(\text{last} \cdot K + v - 1) \geq 0$
  • 保證任何時候都存在至少一個藍色點

Output Format

對於每個 $\text{op} = 2$ 的詢問,請輸出一行數字,代表這筆詢問的答案,每兩筆詢問間請換行。

Sample Input 1

5 0
0 1 0 1 0
1 2
1 3
3 4
3 5
7
2 5
1 2
2 1
1 5
2 4
1 4
2 5

Sample Output 1

3
2
2
0

Sample Input 2

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

Sample Output 2

3
2
2
0

Sample Input 3

8 0
1 0 0 0 0 0 1 0
5 4
7 1
4 8
1 8
5 3
6 7
2 4
12
1 1
1 4
2 4
1 3
2 6
1 4
2 8
1 2
2 3
2 8
2 1
1 7

Sample Output 3

3
6
3
5
3
4

Hints

什麼是強制在線?在輸入限制中,你需要得知一筆詢問的答案,才能知道下一筆詢問的數字為何,
也就是說在接收到詢問後,你需要馬上回答。

在第一、二、三子問題中,$K = 0$,也就是說輸入的 $v$ 跟真正操作的 $x$ 是一樣的。這代表你在回答任何詢問前就已經知道每一筆操作的資訊。因此,在這三個子問題中,你可以離線處理這些詢問。

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資。 0
2 3~6 $K = 0, N, Q \leq 7 \times 10 ^ 4, \forall 1 \leq i < n, u_i = i, v_i = i + 1$。 0.49
3 7~31 $K = 0, N, Q \leq 2000$。 9.51
4 3~6, 32~52 $K = 0, N, Q \leq 7 \times 10 ^ 4$。 40
5 0~76 無特別限制。 50

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 2000 524288 65536 1 5
1 2000 524288 65536 1 5
2 2000 524288 65536 1 5
3 2000 524288 65536 2 4 5
4 2000 524288 65536 2 4 5
5 2000 524288 65536 2 4 5
6 2000 524288 65536 2 4 5
7 2000 524288 65536 3 5
8 2000 524288 65536 3 5
9 2000 524288 65536 3 5
10 2000 524288 65536 3 5
11 2000 524288 65536 3 5
12 2000 524288 65536 3 5
13 2000 524288 65536 3 5
14 2000 524288 65536 3 5
15 2000 524288 65536 3 5
16 2000 524288 65536 3 5
17 2000 524288 65536 3 5
18 2000 524288 65536 3 5
19 2000 524288 65536 3 5
20 2000 524288 65536 3 5
21 2000 524288 65536 3 5
22 2000 524288 65536 3 5
23 2000 524288 65536 3 5
24 2000 524288 65536 3 5
25 2000 524288 65536 3 5
26 2000 524288 65536 3 5
27 2000 524288 65536 3 5
28 2000 524288 65536 3 5
29 2000 524288 65536 3 5
30 2000 524288 65536 3 5
31 2000 524288 65536 3 5
32 2000 524288 65536 4 5
33 2000 524288 65536 4 5
34 2000 524288 65536 4 5
35 2000 524288 65536 4 5
36 2000 524288 65536 4 5
37 2000 524288 65536 4 5
38 2000 524288 65536 4 5
39 2000 524288 65536 4 5
40 2000 524288 65536 4 5
41 2000 524288 65536 4 5
42 2000 524288 65536 4 5
43 2000 524288 65536 4 5
44 2000 524288 65536 4 5
45 2000 524288 65536 4 5
46 2000 524288 65536 4 5
47 2000 524288 65536 4 5
48 2000 524288 65536 4 5
49 2000 524288 65536 4 5
50 2000 524288 65536 4 5
51 2000 524288 65536 4 5
52 2000 524288 65536 4 5
53 2000 524288 65536 5
54 2000 524288 65536 5
55 2000 524288 65536 5
56 2000 524288 65536 5
57 2000 524288 65536 5
58 2000 524288 65536 5
59 2000 524288 65536 5
60 2000 524288 65536 5
61 2000 524288 65536 5
62 2000 524288 65536 5
63 2000 524288 65536 5
64 2000 524288 65536 5
65 2000 524288 65536 5
66 2000 524288 65536 5
67 2000 524288 65536 5
68 2000 524288 65536 5
69 2000 524288 65536 5
70 2000 524288 65536 5
71 2000 524288 65536 5
72 2000 524288 65536 5
73 2000 524288 65536 5
74 2000 524288 65536 5
75 2000 524288 65536 5
76 2000 524288 65536 5