#P12508. 「OOI 2024 Day 1」线索板
「OOI 2024 Day 1」线索板
题目描述
伏洛佳梦想成为一名侦探。因此,他经常阅读关于揭露犯罪团伙惊人故事的书籍。在研究一桩案件时,伏洛佳发现了调查中的一些有趣细节。
该案件共有 名嫌疑人。在线索板上,展示了所有 名嫌疑人的信息。最初,侦探们没有发现嫌疑人之间的任何联系。
然而,随着调查的深入,新的线索陆续出现。每条线索连接了两名嫌疑人,且在此之前,这两名嫌疑人之间没有任何联系,即使是通过其他嫌疑人的间接联系。
让我们看看当侦探们发现一条指向嫌疑人 和 之间联系的线索时会发生什么。除了嫌疑人的名字,每条线索还有三个参数:——针对 的证据强度,——针对 的证据强度,以及 ——线索的总体强度。出于合理考虑,线索的强度不能超过针对 和 的证据强度之和,即每条线索必须满足 。获得这样的线索后,侦探们会在线索板上 和 的图像之间绘制一条边(线),并将这条边的权重设为线索强度 。同时,在嫌疑人 的图像上贴上一个写有数字 的贴纸,在 的图像上贴上一个写有数字 的贴纸。如果图像上已有其他贴纸,新贴纸会覆盖旧贴纸。
案件在所有嫌疑人通过 条线索连接起来时被破解。案件破解后,线索板被原封不动地送往博物馆保存。
受到这种方法的启发,伏洛佳参观了保存这块线索板的博物馆,并对其进行了详细研究。伏洛佳看到,嫌疑人 的图像上贴有从上到下编号为 的贴纸,其中 表示与嫌疑人 相关联的线索数量。此外,伏洛佳记录了第 条线索连接了嫌疑人 和 ,其证据强度为 ,但这些线索的编号是任意的,不一定与调查过程中出现的顺序一致。
由于线索编号的混乱,线索板上的信息无法帮助重建完整的调查过程。为了完全恢复案件的历史,伏洛佳需要重建任何一种可能的线索出现时间顺序。但这个任务对他来说过于困难。请帮助他!如果存在多种可能的恢复顺序,输出其中任意一种即可。也有可能博物馆伪造了部分信息,导致不存在合适的顺序。
输入格式
第一行包含两个整数 和 ,分别表示案件中的嫌疑人数量和子任务编号。
接下来的 行描述线索。第 行包含三个整数 $(1 \leq a_i, b_i \leq n, 1 \leq w_i \leq 10^{9}, a_i \neq b_i)$,分别表示第 条线索连接的嫌疑人编号及其总体证据强度。保证所有线索将所有嫌疑人连接起来。
接下来的 行描述贴纸上的数字。第 行包含 个整数 ,表示第 名嫌疑人图像上从上到下贴纸上的数字。提醒: 等于与嫌疑人 相关联的线索数量。
输出格式
如果不存在符合任务条件的时间顺序来恢复线索,则在单独的一行中输出 No
。
否则,在第一行输出 Yes
。在第二行输出 个数字,表示一种合适的线索出现时间顺序。线索编号从 到 ,与输入数据中的顺序一致。如果存在多种可能的顺序,输出其中任意一种即可。
5 0
1 2 3
1 3 1
3 4 12
3 5 6
0 4
2
6 1 3
8
3
Yes
1 4 2 3
7 0
1 2 4
2 3 4
3 4 4
4 5 4
5 6 4
6 7 4
2
1 2
2 3
1 2
3 2
1 2
179
Yes
5 1 2 3 6 4
4 0
1 2 7
1 3 6
1 4 5
3 2 1
5
4
3
No
数据范围与提示
详细子任务附加限制及分值如下表所示。其中子任务 是样例。
子任务 | 分值 | 附加限制 | 子任务依赖 | 备注 |
---|---|---|---|---|
, 对于所有 | ||||
, 对于所有 | ||||
, 对于所有 | ||||
对于所有 | ||||
对于所有 和 | ||||
$\sum_{v=1}^{n} \sum_{i=1}^{deg_v} c_{v,i} = \sum_{i=1}^{n-1} w_i$ | ||||