【学习笔记】2021.10.4 - 清北灵堂图论讲解
温馨提示:
此为个人笔记,过于智障,请谨慎观看,以免降智!
最短路
SPFA
- 支持负边权,只是
它死了
Floyd
-
它也死了 \(n=100\) 它会超时 -
事实上,它可以支持 $ \color{Orange}n \leq 500 $ 的计算!
祖传 Dijkstra
最短路与差分约束
出现方式
- 对于 \(x_1,x_2,x_{...},x_n\) 给定 \(x_1-x_2 \leq y_1,x_3-x_2 \leq y_2,...\)(下标可以改动,大于小于号也没有定死),求每一个 \(x\) 的最大(或小)值。
演变过程
- 将系数为负的那一项移项,得到最短路祖传的 三角不等式 ,然后可以快乐地最短路辣!(记得建边,也就是一个 \(x\) 到另一个 \(x\) 的距离是 \(y\))
实际应用
-
我们发现,实际约束 \(x\) 的是起点~\(x\)的路径,因为实际上约束它的也就是 \(y\) ,而这个值越小, \(x\) 的上限越大,所以……
-
求最大值用最短路,求最小值用最长路!!!
最小生成树
Kruscal
例1.给定一张图,上有若干白边与黑边,求是否存在生成树使得白边的数量为斐波那契数列的某一项
- 白边边权为一,黑边零,直接跑最大和最小生成树,白边数量会形成一个区间,暴力检验是否有斐波那契数列位于区间内即可。
例2.求1号点有k度的最小生成树
-
二分惩罚值,在此题中,惩罚值为给与1号点相连的边的超级加倍。(惩罚值应为小数)
-
当1号点的度大于k时增大惩罚力度,小于时反之。
Prim
- 它死了(不是