五一集训笔记整理
五一集训笔记整理
0x01 DP-zky
换根DP
e.g. 给出一棵有n个点的树,求每个点到其他点之间的距离
把以一个点作为根节点的情况转移到另外的点作为根节点的情况
状压DP
有题
环形后效性处理
1.断环为链:记录或枚举第一个位置选择情况、复制一倍
2.整体处理 特殊讨论:tarjan、圆方树
3.最短路
斜率优化
把状态转移方程变形成\(y=kx+b\)的形式
数➡️形
根据单调性用单调队列处理
单调队列优化
倍增优化DP
倍增预处理优化一些过程
加速暴力
0x02 匹配与流-yjc
二分图与匹配
匈牙利算法
定理:当且仅当一个匹配是最大匹配时,没有增广路
-
最小点覆盖:选出一个点集,使得每条边至少有一个端点被选择
-
最小支配集:选出一个点集,使得每个点要么被选择,要么和被选择的点有边相连
-
补图:将原图任意两点之间有边的都删掉边,没边的都加上边
-
最小链覆盖=最长反链(最小链覆盖可以重复选点)
-
最大匹配=n-最小路径覆盖=n-最大独立集=n-最小边覆盖=最小点覆盖(最小路径覆盖不可以重复选点)
-
二分图的最大团=补图的最大独立集
-
最小链覆盖=传递闭包+最小路径覆盖
网络流
源点 汇点 容量 流 流函数 流量 剩余流量
流满足:
1.容量限制
2.反对称性
3.流守恒性
最大流 最小费用最大流 最小割
FF(Ford-Fulkerson)算法
Dinic算法(\(O(n^2m)\))
两种优化:多路增广、当前弧优化(\(O(nm)\))
Dinic跑二分图匹配复杂度为\(O(\sqrt nm)\)