5 /
37 Problem A
HUST 1019
A dangerous trip
10 /
71 Problem B
HUST 1631
Road System Problem C
UVALive 3523
Knights of the Round Table
1 /
5 Problem D
UVALive 5135
Mining Your Own Business
1 /
1 Problem E
UVALive 4287
Proving Equivalences
0 /
2 Problem F
Gym 100216E
Shortest Path Problem G
POJ 3177
Redundant Paths Problem H
POJ 1236
Network of Schools Problem I
URAL 1752
Tree 2
5 /
5 Problem J
POJ 1330
Nearest Common Ancestors
4 /
16 Problem K
POJ 1470
Closest Common Ancestors
A
求将任意一条路径缩短一半后的最短路。
两种方法。1.先求起点的最短路,每条边反向后再求一遍终点的。然后枚举每条边折半,求出答案。2.将每个点看成两点,原图分为上下两层,如果A到B有一条权值C的边,则A到B'有一条C/2的边,这样做一遍最短路就是答案。注意边是整数,但答案可能是小数,最好把边都*2。
B
最小生成树。
C
圆桌骑士,经典题,还未做。
D
井底矿工。
E
等价性证明,给一个有向图 ,问最少加多少条边编程强连通图。
先求强连通分量,再将每个强连通分量缩成一个点,因为他们之间已经是互相等价的了。再根据处理后的图 求出图的总出度和总入度,较大值就是答案。
F
做一遍spfa,如果遇到负环就dfs一遍这个点,那么遍历 到的点都是不存在最短路的,标记为'-'。最后输出即可。
不知道我的代码有什么问题,一直不能过。
J,K
裸LCA。