#P5563. [Celeste-B] No More Running

[Celeste-B] No More Running

题目背景

逃离自己内心的人,

永远也到达不了顶峰。

想要到达山顶,你能做的只有

不再逃避

题目描述

通往山顶的路上水晶遍布。

在晶簇中,Madeline 发现了一个不同寻常的水晶洞穴,洞穴中镶嵌着五彩斑斓的宝石。

经过 Madeline 的观察,她发现这些宝石形成了一个奇妙的机关,只要让宝石收集到足够的魔力,就能打开机关,拿到水晶之心。

具体来说,在这个巨大的洞穴里有着 nn 颗宝石,每颗宝石都被镶嵌在形态结构完全相同相互独立的树形结构里。更具体地,在这个洞穴里有 nn 个相同的树形结构 TT,树形结构 TTnn 个节点,而第 ii 颗宝石被镶嵌到了第 ii 个树形结构 TT 的第 ii 号节点上。

Madeline 能够推动宝石从而让宝石在树形结构上滑动。当宝石滑过树形结构的一条边过后,这条边就会被关闭,并且边上储存的魔力就会被积蓄到宝石中。(再次提醒,这 nn 颗宝石所在的树形结构是相互独立的,这意味着在一个树形结构中一条边的封闭并不会导致在其他树形结构中这条边也被封闭)

宝石能储存的魔力是有上限的,更具体而言,每颗宝石都只能储存 modmod 的魔力,一旦超过这个魔力上界,宝石的魔力就会溢出,你可以认为宝石此时储存的魔力会对 modmod 取模。

Madeline 想要知道,镶嵌在每个顶点上的宝石最终最多能储存多少魔力,你能帮帮她吗?

输入格式

第一行为两个整数 nnmodmod,表示树形结构的节点数和 modmod

接下来 n1n-1 行一行三个整数 u,v,wu,v,w,描述树形结构中一条连接 u,vu,v,能量值为 ww 的双向边 (0w<mod0 \leq w < mod )。(注意,封闭一条边是双向的,这意味着你不能走回头路)

保证这些边构成了一棵树。

输出格式

nnnn 个整数,第 ii 个表示镶嵌在第 ii 个顶点的宝石最多能储存的魔力。

5 16
1 2 13
2 3 15
3 4 7
3 5 3

15
15
15
10
15

提示

图挂了

"特殊约定" 中,"一条链"意味着树形结构的第 ii 条边连接第 ii 个和第 i+1i+1 个节点。

对于所有数据有 0w<mod0\leq w<mod

保证输入的所有边构成一棵树

对于 11~66 号测试点,时限为 1s1s

对于 77~1212 号测试点,时限为 2s2s

对于 1313~2020 号测试点,时限为 3s3s