#P11514. [CCO 2024] Treasure Hunt
[CCO 2024] Treasure Hunt
题目背景
题目描述
佩里海盗正在航行七大洋!他有一张由 个岛屿和 条海路组成的地图。第 条海路连接岛屿 和 ,双向通行的费用为 金币。与海怪交战代价不菲。为了寻找下一个大笔战利品,佩里已经侦查过每个岛屿,确定第 个岛上有一个装有 金币的宝箱。
他打算航行一段(可能为空)的海路,从岛屿 出发到岛屿 结束。旅程结束时,他会打开岛屿 的宝箱并获得战利品。这里的问题是:佩里并不知道自己当前在哪个岛上!因此,对于每个可能的起始岛 ,他想知道从该岛出发所有可能旅程中能够获得的最大净收益(假设他有足够的金币支付沿途的通行费用;他只关心下一次旅程的净利润)。
输入格式
第一行两个整数 。
第二行 个整数 。
往后 行每行三个整数 ,其描述了一条海路 。
保证无重边无自环。
输出格式
行,每行一个整数,第 行的整数代表以点 为起点岛屿所获得的最大可能的硬币数。
4 5
6 5 9 2
1 2 0
3 2 3
4 3 6
1 3 5
2 4 2
6
6
9
4
提示
数据范围
| Subtask | 分数 | 约束 |
|---|---|---|
| Subtask | 样例 | |
| Subtask | , | |
| Subtask | ,,对于每个岛屿 , 或 | |
| Subtask | ,,任意一对岛屿之间恰好有一条路径 | |
| Subtask | 无特殊限制 |
对于 的数据,,,,。
样例解释 #1

对于第一个和第三个岛屿,最好待在岛上并打开岛上的箱子。
对于第二个岛屿,佩里可以前往第一个岛屿并打开那里的箱子。这将带来 枚硬币的净收益,是最佳的净收益。
对于第四个岛屿,佩里可以前往第二个和第三个岛屿并打开那里的箱子。这将带来 枚硬币的净收益,是最佳的净收益。