#ABC338F. 负权旅行商问题
负权旅行商问题
负权旅行商问题
题目描述
有一个带权的简单有向图,包含 个顶点和 条边。 顶点编号为 到 ,第 条边从顶点 指向顶点 ,权重为 。 权重可以为负数,但图中不包含负环。
请判断是否存在一条经过每个顶点至少一次的游走(walk)。如果存在,求出所经过边的总权重的最小值。 如果同一条边被经过多次,则每次经过都累加该边的权重。
这里,「经过每个顶点至少一次的游走」是指满足以下两个条件的顶点序列 :
- 对所有 ,存在一条从顶点 指向顶点 的边。
- 对所有 ,存在 使得 。
输入格式
输入按以下格式从标准输入给出:
输出格式
如果存在经过每个顶点至少一次的游走,输出所经过边的总权重的最小值;否则输出 No。
样例
3 4
1 2 5
2 1 -3
2 3 -4
3 1 100
-2
按顶点顺序 前进,可以经过所有顶点至少一次,所经过边的总权重为 。 这是最小值。
3 2
1 2 0
2 1 0
No
不存在经过所有顶点至少一次的游走。
5 9
1 2 -246288
4 5 -222742
3 1 246288
3 4 947824
5 2 -178721
4 3 -947824
5 4 756570
2 5 707902
5 1 36781
-449429
数据范围
- 对 ,
- 给定的图不包含负环。
- 所有输入值均为整数。
难度
提高+/省选
通过率
—
尝试
0
已通过
0
- ID
- 3191
- 类型
- 传统题
- Time Limit
- 6000ms
- Memory Limit
- 1024MiB
- 上传者