CF1192B.Dynamic Diameter

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a weighted undirected tree on nn vertices and a list of qq updates. Each update changes the weight of one edge. The task is to output the diameter of the tree after each update.

(The distance between two vertices is the sum of the weights on the unique simple path that connects them. The diameter is the largest of all those distances.)

输入格式

The first line contains three space-separated integers nn , qq and ww ( 2n100,000,1q100,0002 \leq n \leq 100,000, 1 \leq q \leq 100,000 , 1w20,000,000,000,0001 \leq w \leq 20,000,000,000,000 ) – the number of vertices in the tree, the number of updates and the limit on the weights of edges. The vertices are numbered 11 through nn .

Next, n1n-1 lines describing the initial tree follow. The ii -th of these lines contains three space-separated integers aia_i , bib_i , cic_i ( 1ai,bin1 \leq a_i, b_i \leq n , 0ci<w0 \leq c_i < w ) meaning that initially, there is an edge between vertices aia_i and bib_i with weight cic_i . It is guaranteed that these n1n-1 lines describe a tree.

Finally, qq lines describing queries follow. The jj -th of these lines contains two space-separated integers djd_j , eje_j ( 0dj<n1,0ej<w0 \leq d_j < n - 1, 0 \leq e_j < w ). These two integers are then transformed according to the following scheme:

  • dj=(dj+last)mod(n1)d'_j = (d_j + last) \bmod (n - 1)
  • ej=(ej+last)modwe'_j = (e_j + last) \bmod w

where lastlast is the result of the last query (initially last=0last=0 ). Tuple (dj,ej)(d'_j, e'_j) represents a query which takes the dj+1d'_j+1 -th edge from the input and sets its weight to eje'_j .

输出格式

Output qq lines. For each ii , line ii should contain the diameter of the tree after the ii -th update.

Scoring

Subtask 1 (11 points): n,q100n,q \leq 100 and w10,000w \leq 10,000

Subtask 2 (13 points): n,q5,000n,q \leq 5,000 and w10,000w \leq 10,000

Subtask 3 (7 points): w10,000w \leq 10,000 and the edges of the tree are exactly all valid edges of the form {1,i}\{1, i\} (Hence, the tree is a star centered at vertex 1.)

Subtask 4 (18 points): w10,000w \leq 10,000 , and the edges of the tree are exactly all valid edges of the forms {i,2i}\{i, 2i\} and {i,2i+1}\{i, 2i+1\} (Hence, if we were to root the tree at vertex 1, it would be a balanced binary tree.)

Subtask 5 (24 points): it is guaranteed that after each update a longest simple path goes through vertex 11

Subtask 6 (27 points): no additional constraints

输入输出样例

  • 输入#1

    4 3 2000
    1 2 100
    2 3 1000
    2 4 1000
    2 1030
    1 1020
    1 890
    

    输出#1

    2030
    2080
    2050
    
  • 输入#2

    10 10 10000
    1 9 1241
    5 6 1630
    10 5 1630
    2 6 853
    10 1 511
    5 3 760
    8 3 1076
    4 10 1483
    7 10 40
    8 2051
    5 6294
    5 4168
    7 1861
    0 5244
    6 5156
    3 3001
    8 5267
    5 3102
    8 3623
    

    输出#2

    6164
    7812
    8385
    6737
    6738
    7205
    6641
    7062
    6581
    5155
    

说明/提示

The first sample is depicted in the figure below. The left-most picture shows the initial state of the graph. Each following picture depicts the situation after an update. The weight of the updated edge is painted green, and the diameter is red.

The first query changes the weight of the 33 rd edge, i.e. {2,4}\{2, 4\} , to 10301030 . The largest distance between any pair of vertices is 20302030 – the distance between 33 and 44 .

As the answer is 20302030 , the second query is

d2=(1+2030)mod3=0d'_2 = (1 + 2030) \bmod 3 = 0

e2=(1020+2030)mod2000=1050e'_2 = (1020 + 2030) \bmod 2000 = 1050

Hence the weight of the edge {1,2}\{1, 2\} is changed to 10501050 . This causes the pair {1,4}\{1, 4\} to be the pair with the greatest distance, namely 20802080 .

The third query is decoded as

d3=(1+2080)mod3=2d'_3 = (1 + 2080) \bmod 3 = 2

e3=(890+2080)mod2000=970e'_3 = (890 + 2080) \bmod 2000 = 970

As the weight of the edge {2,4}\{2, 4\} decreases to 970970 , the most distant pair is suddenly {1,3}\{1, 3\} with 20502050
.

首页