题目描述
给出一个有向带权网络 G=(V,E),权值函数 w:E→Z∗(即任意边 e 的权值 w(e) 均为正整数),和点 s,t∈E,使得在 G′=(V,E−S) 上不存在 s 到 t 的路径。
设 S 是所有满足条件的边集 S 的全集,按 w(S) 从小到大输出 S 中前 k 小的边集的边权和。其中 w(S)=∑e∈Sw(e)。
输入格式
第一行包含 5 个正整数 n,m,s,t,k,其中 s,t,k 意义如上,n,m 分别表示 ∣V∣,∣E∣(即点数和边数)。规定图中的节点用 1 到 n 的整数表示。保证 s=t。
接下来 m 行,每行 3 个整数 x,y,z,表示一条边权为 z 的从 x 到 y 的边。可能有重边但保证没有自环。
输出格式
如果 ∣S∣<k,先输出 ∣S∣ 行,每行包含一个整数,表示前 ∣S∣ 个 w(S);再输出一行一个整数 −1。
如果 ∣S∣≥k,则输出 k 行,表示前 k 个 w(S)。
两种情况均需按照 w(S) 从小到大输出。
3 3 1 3 100
1 2 3
2 3 4
1 3 5
8
9
12
-1
5 8 1 5 10
1 2 45176
1 3 41088
1 4 32001
2 5 48931
3 5 39291
4 5 28970
2 3 48131
4 2 49795
116468
117192
118265
120223
145438
147235
149193
157556
158280
161311
提示
测试点编号 |
n≤ |
m |
k≤ |
约束 |
1∼2 |
10 |
≤20 |
106 |
边权不超过 65536 |
3∼6 |
50 |
≤100 |
100 |
7∼10 |
3000 |
=2n−4 |
5×105 |
s 有边连向所有非 t 节点,所有非 s 结点有边连向 t,边权不超过 231−1 |
11∼14 |
1.5×105 |
15∼20 |
50 |
≤1500 |
100 |
边权不超过 65536 |