2016.5.2


二分图
二分图没有奇环(无法进行黑白染色)
1.最大匹配
①匈牙利算法
贪心的从每个左部节点寻找交错路
dfs当前左部节点时,搜索右部节点,选择匹配。
②题目:
棋盘问题1:
棋盘本身就是一个二分图,进行黑白染色,白的和黑的连边,建图
棋盘放车:
把每行和每列看成一个点
如果第i行第j列放车,那么就进行连边
城堡问题:
有障碍物,就相当于把每一行每一列分成多行多列
(行连通块和列连通块)
2.最小覆盖
数值上和最大匹配相同
经典例题>o< T_T
POJ 1325 Machine Schedule
POJ 2226 Muddy Field
3.最大独立集
图的点数减去最小覆盖,也就是减去最大匹配(最大匹配真的好厉害( ⊙ o ⊙ )!!!)
棋盘放马
对棋盘进行黑白染色,
4.最小路径覆盖
有向无环图
不相交的路径覆盖所有点
节点数-最大匹配
把一个点拆成一个出点一个入点
hanoi
n根柱子,按编号从小到大放盘子

转化为有m个盘子,需要多少个柱子
若有m个盘子,刚好最少n根柱子满足,那么m-1个盘子可以放,m-2个也可以,但m+1不可以,可以二分求n
for(int i=1;i<=m;i++)
for i=i to m do
if(某个点为i的完全平方数)
连边
5.稳定婚姻问题
吼吼吼!!!>o< 好人呐>o< T_T
迭代
初始时所有♂都处于未匹配
每个♂都在每个未拒绝他的♀中寻找一个最喜欢的
每个♀在所有选择她的♂中找一个最喜欢的,选择
重复以上过程直到所有♂都找到♀
**♂先选对于♂是最优的


网络流
1.最大流最小割
首先说什么是流网络呢
流网络G是一个有向图,其中每条边都有一个非负容量
如果u到v没有边,则c(u,v)=0
源点s汇点t
源点没有入边,汇点没有出边
对于除了源点和汇点的每一条边来说,从某一个点出去的流量=流出的流量,并且每条边的流量小于等于边容量,源点流出的流量=汇点接收的流量
**最大流
最多可以从源点向汇点输送多少流量
介绍一个萌萌哒的概念喽,饱和边和非饱和边
f(i,j)=c(i,j)饱和边,否则非饱和边
**割
将G分为S和T两个点集使得s∈S&&t∈T
割的容量就是从S中的点到T的点的边的容量和($$注意哦,从T到S的边不属于哦>o<)
割集的个数为2的n-1次方种
定理:
在流网络中,最小割的容量=最大流的流量
2.Dinic算法
复杂度上界m*n^2
但是网络流的时间一般远远低于上界
Dinic算法在二分图中有时效率和匈牙利算法差不多
找一条路,没流满,把他流满,再找,直到找不到没流满的路
如果向后边有流量,能流回来,那么一定存在向前边连通向后边,就可以退掉向后边的流量,通过另一条向前边增大流量。
我们可以给每一条边都建一条反向边,来避免判断方向
最小割的一组解
从源点走有余量的边dfs被dfs到的边都属于S集合
因为没有走到的边都是瓶颈,属于T集合
通过流量守恒原理我们可得到一个定理,最小流<=最小割
因为从S集合流向T集合的流量=S产生的流量-流入S的流量
从S到T的边一定是流满的边,从T到S的边一定是没有流量的边,所以存在一个割集=最大流
通过以上分析可推得最大流=最小割
**多源汇最大流:
锵锵锵$超级源点闪亮登场
**有上下界的网络流问题
http://www.cnblogs.com/kane0526/archive/2013/04/05/3001108.html
3.最小费用最大流
首先保证是最大流,再寻找代价最小的最大流(每条边的代价就是边的流量*权值)
每次都跑spfa求出最短路,然后求出当前最短路的最小容量,再接着在残存图中接着进行上述过程


树的分治
分治前提:
分为规模较小的问题可以很简单地解决,并且具有最优子结构,最优解可以合并,各个问题所分解出的子问题中所包含的重叠子问题很少(如果具有很多重叠子问题,直接用DP即可)
1.树链剖分
对于树上的路径的分治
BZOJ 2243
首先我们考虑给定一个序列,执行以下两个操作,该如何解决
修改 sum=1,lc=c,rc=c
合并 sum=l.sum+r.sum-(l.rc==r.lc)//看两个序列中间的颜色端是否相等
接下来,我们考虑树链剖分
树链剖分套线段树
见PPT
2.点分治
POJ 1740
见PPT
如何选根节点,选择一棵树的重心,使得最大的子树最小
点分治
①经过根节点求解
②不经过根节点(那么一定在子树中)
3.边分治

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值