#P15472. 星港集结

    ID: 14687 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 9 上传者: 标签>树论树链剖分数据结构线段树数学CF2600

星港集结

一座星港由 nn 个停靠点和 n1n-1 条双向通道组成,任意两个停靠点之间都能互相到达,且每条通道长度均为 11。也就是说,星港结构是一棵树。

某些停靠点上停有探测员。现在星港将在停靠点 rr 启动集结程序,并在停靠点 vv 设置一次记录终端。

接下来的 n1n-1 秒内,所有探测员会按照统一规则向停靠点 rr 集结。具体地,第 ii 秒时,所有当前距离停靠点 rr 恰好为 nin-i 的探测员,会沿着通往 rr 的最短路径向前移动一步。第 00 秒时,所有探测员仍在自己的初始停靠点。

若两个不同的探测员 a,ba,b 在第 ii 秒第一次相遇,即它们在第 ii 秒位于同一个停靠点,而在第 i1i-1 秒不位于同一个停靠点,设它们此时所在的停靠点编号为 xx,则探测员 aa 与探测员 bb 都会各自获得 x2\frac{x}{2} 点记录值。

对于某个探测员 aa,设 cc0n10\sim n-1 中最大的一个时刻,使得第 cc 秒时 aa 位于记录终端 vv。那么在第 cc 秒,aa 会在终端 vv 进行记录,并将其当时拥有的记录值计入总记录值。若不存在这样的时刻 cc,则该探测员不会对总记录值产生贡献。

现在你需要在每次操作后,输出经过上述 n1n-1 秒集结过程后得到的总记录值。

共有 qq 次操作。每次给出三个整数 u,r,vu,r,v:若停靠点 uu 当前有探测员,则该探测员离开星港;否则,停靠点 uu 会新来一名探测员。随后,你需要回答:若本次在停靠点 rr 启动集结程序,并在停靠点 vv 设置记录终端,最终总记录值是多少。

注意:集结过程只用于计算答案,探测员并不会真的在树上永久移动;但每次操作中的进入或离开会真实改变之后的探测员集合。

输入格式

第一行两个整数 n,qn,q

接下来 n1n-1 行,每行两个整数 xi,yix_i,y_i,表示停靠点 xix_iyiy_i 之间有一条通道。

接下来 qq 行,每行三个整数 ui,ri,viu_i,r_i,v_i,表示一次操作与询问。

输出格式

输出共 qq 行,每行一个整数,表示对应询问的答案。

样例 1 输入

5 5
1 2
1 3
2 4
2 5
4 1 1
5 1 1
3 1 1
2 3 2
1 3 1

样例 1 输出

0
2
4
6
9

样例 1 解释

对于最后一次询问,停靠点 1,2,3,4,51,2,3,4,5 上均有探测员,集结点为 33,记录终端为 11。下面用 ii 表示第 00 秒位于停靠点 ii 的探测员,用 aia_i 表示该探测员当前记录值。

11 秒时,没有探测员移动。

22 秒时,探测员 4,54,5 移动到停靠点 22。此时探测员 2,4,52,4,5 两两第一次相遇,因此 ai=[0,2,0,2,2]a_i=[0,2,0,2,2]

33 秒时,探测员 2,4,52,4,5 移动到停靠点 11,此时 ai=[1.5,2.5,0,2.5,2.5]a_i=[1.5,2.5,0,2.5,2.5]

44 秒时,探测员 1,2,4,51,2,4,5 移动到停靠点 33,此时 ai=[3,4,6,4,4]a_i=[3,4,6,4,4],集结完成。

其中探测员 1,2,4,51,2,4,5 都曾到达记录终端 11,且最后一次到达记录终端的时刻均为第 33 秒,因此总记录值为 1.5+2.5+2.5+2.5=91.5+2.5+2.5+2.5=9,输出 99

样例 2 输入

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

样例 2 输出

0
1
4
0
0
0
29
5

样例 3

见选手目录下 celebration/ex_celebration3.incelebration/ex_celebration3.out

样例 4

见选手目录下 celebration/ex_celebration4.incelebration/ex_celebration4.out

该样例满足特殊性质 B。

样例 5

见选手目录下 celebration/ex_celebration5.incelebration/ex_celebration5.out

该样例满足特殊性质 C。

数据范围

$1\leq n\leq 5\times 10^4,1\leq q\leq 10^5,1\leq x_i,y_i,u_i,r_i,v_i\leq n$。

子任务编号 n,qn,q 限制 特殊性质 分值
11 max(n,q)100\max(n,q)\leq 100 77
22 max(n,q)500\max(n,q)\leq 500 88
33 max(n,q)4000\max(n,q)\leq 4000 1010
44 q7×104q\leq 7\times 10^4 A 2020
55 B
66 C
77 1515

特殊性质 A:ri=vi=1r_i=v_i=1

特殊性质 B:ri=1r_i=1

特殊性质 C:ri=vir_i=v_i