#L4991. 「POI 2023/2024 R2」Rycerz

「POI 2023/2024 R2」Rycerz

题目描述

题目译自XXII Olimpiada Informatyczna — II etap Trzy Wieże

在 Bajtocja 王国,有 nn 座城市通过 mm 条双向道路相连,每条道路通行需耗时一天。城市编号从 11nn。一位骑士从城市 11 出发,需在最多 dd 天内抵达城市 nn,挑战一只强大的怪兽。

骑士将使用 kk 把不同类型的剑,类型编号从 11kk,每把剑具有非负整数值。初始时,骑士持有每种类型的剑,价值均为 00。每条道路旁驻扎 kk 名剑匠,第 ii 条道路的第 jj 名剑匠可将类型 jj 的剑价值调整为 ai,ja_{i,j}。骑士通过道路时,可选择任意剑匠调整任意子集的剑,每种剑可多次调整。

骑士希望最大化类型 11 的剑价值;在保证类型 11 价值最大的前提下,最大化类型 22 的剑价值,依此类推,直至类型 kk。调整顺序无关紧要,仅关注最终价值。已知道路网络保证从城市 11nndd 天内可达,骑士可多次经过城市或道路。你的任务是确定骑士在最佳路径规划下的剑价值。


输入格式

第一行包含四个整数 nn, mm, dd, kk (2n100002 \leq n \leq 10000, 1m,d100001 \leq m, d \leq 10000, 1k101 \leq k \leq 10),分别表示城市数、道路数、最多天数和剑类型数。

接下来的 mm 行,每行包含 k+2k+2 个整数 uiu_i, viv_i, ai,1,,ai,ka_{i,1}, \ldots, a_{i,k},描述第 ii 条道路。其中 uiu_i, viv_i (1ui,vin1 \leq u_i, v_i \leq n, uiviu_i \neq v_i) 表示道路连接的城市编号,ai,ja_{i,j} (0ai,j1090 \leq a_{i,j} \leq 10^9) 表示第 jj 名剑匠可将类型 jj 的剑调整为该价值。同一城市对可能有多条道路。


输出格式

输出一行,包含 kk 个非负整数 w1,,wkw_1, \ldots, w_k,以空格分隔。w1w_1 表示骑士在最多 dd 天内抵达城市 nn 可获得的最大类型 11 剑价值;w2w_2 表示在 w1w_1 最大前提下,类型 22 剑的最大价值,依此类推。即,序列 (w1,,wk)(w_1, \ldots, w_k) 是骑士在 dd 天内抵达 nn,各类型 jj 剑达 wjw_j 价值的最大字典序序列。


样例

输入

7 7 6 2
1 2 7 9
2 7 1 0
1 3 5 6
3 4 10 1
4 7 0 0
5 6 2 17
5 7 3 15

输出

10 15

最佳路径在图示中以粗线和箭头标示,按骑士通行方向绘制,粗体下划线标签表示道路上执行的剑调整。

从城市 3344 的道路提供类型 11 剑的最大价值 1010。无法在 66 天内同时经过 33445566 的道路。因此,骑士选择类型 22 剑价值 1515,通过 5577 的道路。路径为 1,3,4,7,5,71, 3, 4, 7, 5, 7,剩余 11 天未使用。


附加样例

  • n=5n=5, m=4m=4, d=3d=3, k=4k=4,每座城市与城市 11 相连,每条道路仅一个剑匠可将剑调整为非 00 价值。
  • n=100n=100, m=4950m=4950, d=5d=5, k=8k=8,每座城市与所有其他城市相连,剑价值随机。
  • n=10000n=10000, m=9999m=9999, d=n1d=n-1, k=1k=1,城市 iii+1i+1 (1in11 \leq i \leq n-1) 相连。

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
1 n,m,d10n, m, d \leq 10 10
2 k=1k = 1 15
3 n,m,d500n, m, d \leq 500, k5k \leq 5
4 n,m,d1000n, m, d \leq 1000, ai,j10a_{i,j} \leq 10 20
5 n,m,d1000n, m, d \leq 1000 15
6 无附加限制 25