题目一------单源最短路 考场标准时间15m
维护S Q表,Q按照从小到大的价值排序,每次选最小代价的点出来探索。

翻译:
在给定的带权有向图上运行Dijkstra算法,计算从顶点 a 出发的最短路径树(shortest-path tree)。
具体要求:
在每一次迭代(循环)中,请展示以下四个中间结果:
-
(a) 从**优先队列(priority queue)**中选出的顶点;
-
(b) 每个顶点当前的最短距离估计值 dv ;
-
(c) 每个顶点的前驱节点 πv(即路径上的上一个节点);
-
(d) 已确定集合 S 的内容,以及剩余优先队列 Q 的内容。
最后:
画出或列出最终生成的最短路径树。
解析
我的答案
维护S Q表,Q按照从小到大的价值排序,每次选最小代价的点出来探索。


题目二------多源最短路 考场标准时间40m
原理是由于DJ法无法处理负权边问题,因此引入一个"零势能面",将负权边转为正权边。
首先引入一个超级原点,就是零势能面,然后计算所有点到原点的最短路,用BellmanFOrd即可。
遍历所有变更新到无变化。
然后记录所有点到原点的最短路长度(相当于海拔高度有正有负),然后就能得到最低的海平面。
我们的任务就是以最低的海平面为0m。
因此引入变化势能函数尖w(A,B)=w(A,B)+h(A)-h(B)
这样算出来的新权重就是全为正的,可以用DJ法。
接下来就是用多源DJ法计算多源最短路,每次算出来一个点都要计算转换后的权重,也就是
σ(A,B)=δ(A,B)+h(B)-h(A),注意,这里是后减前,是为了还原到原始权重去计算!!!
这个σ就是最短路距离了!

翻译:用约翰逊算法解决多源最短路的问题
总体思路:
将负权边转换为非负权边,引入势能函数,保证负权非负
1.引入超级原点S,将S与所有节点相连,权重为0
2.列出所有边
3.使用Bellmanford进行单元最短路计算,列边松弛列dΠ,得到S到各个点的最短路
4.计算势能 h(v)=δ(s,v)
5.计算等效边权w(u,v)_hat
6.这时就可以迪杰斯特拉了


解析
我的答案



题目三------找最短增广路 考场标准时间16m

翻译:
展示 Edmonds-Karp 算法在上述流量网络上的执行过程。请在每次迭代中,展示流量网络、残余网络、增广路径以及增加的流量(增量流)。最后,展示最大流量以及对应的最小割。
解析
我的答案
题目四------线性规划问题 考场标准时间25m

翻译:
给定以下线性规划问题 (LP),
最大化 z=x1+2x2
约束条件 (s.t.):
x2≤2x1+2
x1+3x2≤27
x1+x2≤15
2x1≤x2+18
x≥0
通过几何论证和单纯形法计算其最优解。
解析
流程参考下面:
先进行STF和RLF验证,符合形式后再进行求解即可。
我的答案
题目五------二分图匹配问题(匈牙利树算法) 考查标准时间12m

翻译:




