2016集训队论文姜志豪
16年的感觉比17年的有用多了啊(17年的太难了)
讲了挺多网络流的经典应用
最大流
1.n*m的格子要求第i行ri个,第j行cj个,其中有的是障碍点
建图方法是s-xi表示行,yj-t表示列
那么我们要求的就是最多的满足一个点既满足行和列
第2道比较水
3.collector's problem
我们对每种种类建立s-x为初始拥有,s-t限流1
对于每个人,卡片个数>1的连yi,流量为k-1,yi连没有的卡片
这几道我记得蓝书上都有
最小割
4比较水
5比较巧妙
由于最小割没有负权,所以我们把选的最多转化成没有选的最少
我们可以对每个用100-它
然后建图就是从s-第一天-第二天-第三天
另外在于如何满足限制先后顺序
我们可以将a,j-1向b,j连一条INF的边
这步很巧妙,稍微想一下就知道正确性了
两点关系最小割
6.
通过计算来求解的问题
7.
费用流
这下面的几道都是先转化在做的
虽然很简单但都很巧妙
8.将长度为m中最多出现k转化为
k次覆盖,每次在m的长度内只能选一个
只要i-i+m,费用a[i],i-i+1 费用0 最大费用最大流就可以了
9.这种题目第一眼真的想不到网络流
对于题目给的限制
并不能通过确定一个值来确定三个数是否满足
但是我们可以通过容斥,我们发现只要一个数大于另外两个数,一定不满足
这样问题就变成了要x(x-1)/2最小
这个是比较经典的拆边费用流