#P8975. 『GROI-R1』 湖底之城

    ID: 8122 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划,dp图论O2优化树形 dp

『GROI-R1』 湖底之城

题目背景

那年你我仍是无瑕的少年

在夜晚安逸的后院无所顾忌地笑谈人生

——怀念这样毫无猜忌的时光

题目描述

悦,玲和荧三个人在湖底之城闲游。湖底之城的道路错综复杂,形成了一棵有 nn 个节点的树。

她们三人的手上都有一个计数器,初始都为 00。她们每走到一个点的时候,悦和荧手上的计数器会自动加上刚刚经过的这条边的边权,同时的计数器会恰好增加 11。同时,她们整个过程中没有经过某个点超过一次

由于她们的计数器不能存储很大的值,所以,当的计数器上的值是「湖之数」pp倍数时,悦可以将她的计数器上的值减去的计数器上的值,接下来,玲和荧的计数器都会立刻归零

玘现在不知道她们闲游的起点和终点,所以天生计算能力很好的玘对于每一对起点和终点,计算出了悦手上计数器在终点时可能出现的最小值。玘把这个值记作 f(u,v)f(u,v),意思是她们从点 uu 走到了点 vv。可是,玘认为,没有红色彼岸花的寒,一定是算不出来这些答案的。所以,他让寒做一道更简单的题。玘给寒一个长度为 mm 的序列 ss,让寒对于每一个点为 uu 时计算 mini=1m{f(si,u)}\min\limits_{i=1}^m\{f(s_i,u)\}

形式化题面

给定一个 nn 个点的树 (V,E)(V,E) 和一个正整数 pp,每一条边有一个整数边权 wiw_i

我们定义 f(s,v)f(s,v) 表示为对 u,a,b,cu,a,b,c 进行若干次拓展后可以得到的当 u=vu=v 时的 aa 的最小值,其中最开始 usu\gets s 同时 a,b,c0a,b,c\gets0

拓展的定义为依次进行如下操作:

  • 选择任意一条边 (u,v,w)E(u',v,w)\in E 满足 u=uu=u',令 uv,aa+w,bb+1,cc+wu\gets v,a\gets a+w,b\gets b+1,c\gets c+w

  • 如果 pbp\mid b,你可以aac,b0,c0a\gets a-c,b\gets 0,c\gets0

特别地,对于每一次拓展,你不能取一个之前取过的点。

给定序列 {sm}\{s_m\},对于每个点 uumini=1m{f(si,u)}\min\limits_{i=1}^m\{f(s_i,u)\}

输入格式

第一行三个整数 n,m,pn,m,p,表示树的节点数为 nn,编号分别为 1n1\sim n,「湖之数」为 pp,序列 ss 的长度为 mm

接下来 n1n-1 行每行三个整数 u,v,wu,v,w 表示存在一条连接 u,vu,v 两个点,边权为 ww 的边。

接下来一行 mm 个整数表示 s1ms_{1\sim m}mm 个起点。

输出格式

ansu=mini=1m{f(si,u)}ans_u=\min\limits_{i=1}^m\{f(s_i,u)\},那么你需要输出 xori=1nansi\text{xor}_{i=1}^n |ans_i|。其中 a|a| 表示 aa 的绝对值。

6 2 2
1 2 -2
1 3 1
1 4 2
2 5 -3
2 6 10
1 5

4

提示

样例解释

  • 如果她们从 11 号点出发,首先有 f(1,1)=0f(1,1)=0。走到点 2,3,42,3,4 时悦的计数器上的值分别为 2,1,2-2,1,2,所以 f(1,2)=2,f(1,3)=1,f(1,4)=2f(1,2)=-2,f(1,3)=1,f(1,4)=2。她们走到点 5,65,6 时,悦的计数器上的值分别为 5,8-5,8。由于这时玲的计数器上的值等于 22,是 pp 的倍数,所以悦可以选择让她手上的计数器的值减去荧的计数器的值,不难得出 f(1,5)=5,f(1,6)=0f(1,5)=-5,f(1,6)=0

  • 如果她们从 55 号点出发,同理可得 $f(5,5)=0,f(5,2)=-3,f(5,6)=0,f(5,1)=-5,f(5,4)=-3,f(5,3)=-4$。

综上的 {ansn}={5,3,4,3,5,0}\{ans_n\}=\{-5,-3,-4,-3,-5,0\}。计算可得 xori=1nansi=4\text{xor}_{i=1}^n |ans_i|=4

数据范围

本题采用捆绑测试。

子任务编号 数据范围 特殊性质 分值
Subtask1\text{Subtask1} mn100m\le n\le100p20p\le20 1010
Subtask2\text{Subtask2} mn103m\le n\le10^3p100p\le100 1515
Subtask3\text{Subtask3} n105n\le10^5p100p\le100m=1m=1 1010
Subtask4\text{Subtask4} mn105m\le n\le10^5p=1p=1 2020
Subtask5\text{Subtask5} mn105m\le n\le10^5p100p\le100 1010
Subtask6\text{Subtask6} 3535

特殊性质:保证树退化成一条链。

对于 100%100\% 的数据 1mn1051\le m\le n\le10^51p1001\le p\le100104w104-10^4\le w\le10^41u,v,sin1\le u,v,s_i\le n