C. 阿坡李尅铁夫(applicative)

    传统题 1000ms 512MiB

阿坡李尅铁夫(applicative)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

instance Applicative [] where
	-- pure :: a -> [a]
	pure x = [x]
	-- (<*>) :: [a -> b] -> [a] -> [b]
	gs <*> xs = [g x | g <- gs, x <- xs]

你确信你是站在三万英尺的高空吗?

题目描述

给定一棵 nn 个点的树,1 号点为根。给定一个整数 mm

对于树上的每个结点 uu,有三个参数 Xu,Yu,ZuX_u, Y_u, Z_u,你需要在 uu 到根的路径上(不包括 uu)选择至少 XuX_u 个结点,在 uu 的子树(不包括 uu)中选择至少 YuY_u 个结点。你需要保证你总共选择了 mm 个结点。然后,令 S1S_1 表示 uu 上面被选择的结点到 uu 的距离和,S2S_2 表示 uu 子树中被选择的结点到 uu 的距离和,你需要求出 S1S2+Zu|S_1 − S_2 + Z_u| 的最小值。

两点之间的距离为两点之间简单路径上的边数。

Notice

询问是每次选的,无解的情况可以参见样例.

输入格式

第一行两个整数 n,mn, m

接下来 n1n − 1 行,每行两个整数 u,vu, v,表示一条树上的边。

接下来 nn 行,每行三个整数 Xi,Yi,ZiX_i ,Y_i ,Z_i,表示结点 ii 的参数。

输出格式

输出一行 nn 个整数表示答案。特别地,若对于一个结点,你无法按要求选择结点,则输出 1−1

样例一

input
5 2
1 2
1 3
2 4
2 5
0 0 -1
0 0 0
1 0 1
0 0 2
0 0 1
output
3 0 -1 5 4

样例二

见下发文件中的 applicative/applicative2.in 以及 applicative/applicative2.ans

限制与约定

对于前 20%20\% 的数据,n300n \le 300

对于前 40%40\% 的数据,n3000n \le 3000

对于前 60%60\% 的数据,n105n \le 10^5

对于另外 20%20\% 的数据,保证对于 i[1,n1]i \in [1, n − 1],存在连接 iii+1i + 1 的边。

对于 100%100\% 的数据,1n5×1051 \le n \le 5 \times 10^50mnZi1090 \le m \le n,|Z_i | \le 10^9Xi,Yi0X_i , Y_i \ge 0,保证输入的是一棵树。对于 u[1,n]u \in [1, n],保证 XuX_u 不超过 uu 到根路径上的结点个数(不包括 uu),保证 YuY_u 不超过 uu 的子树中的结点个数(不包括 uu),保证 Xu+YumX_u + Y_u \le m

20240203 Test

未参加
状态
已结束
规则
OI
题目
4
开始于
2024-2-3 14:00
结束于
2024-2-3 18:30
持续时间
4.5 小时
主持人
参赛人数
6