- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
網络流题选讲
网络流题选讲
清华大学 计03 李宇亮
狼和羊的故事
n*m的网格
每个格子:狼、羊、空
要造篱笆,把狼和羊隔开,篱笆只能建在相邻两个格子之间。
问最少多少篱笆?
W
?
S
?
?
?
?
?
?
W
S
?
S
W
NOI2009 浙江省选题
最小割
W
?
S
?
?
?
?
?
?
W
S
?
S
W
1
+∞
+∞
+∞
+∞
+∞
+∞
Transform Matrix
两个n*m的01矩阵A和B
对A进行若干次操作,使得A变成和B一样
一次操作:交换A中相邻两个位置的元素
每个格子(i,j)最多被操作count(i,j)次
问最少操作次数
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
TopCoder srm407 division I level 3
先不考虑count限制
一次操作 = 移动一个1,代价为1
给定1的初始和最终位置,用最少的步数移动
对A中所有为1的点i,连边(s,i),容量为1,费用为0
对B中所有为1的点i,连边(i,t),容量为1,费用为0
相邻的点连边,容量为+∞,费用为1
考虑count
1、若Ai,j=Bi,j,必被操作偶数次,移入一次,移出一次。所以点容量为counti,j/2
2、若Ai,j=1,Bi,j=0,移出比移入多一次。点容量为(counti,j+1)/2
3、若Ai,j=0,Bi,j=1,移入比移出多一次。点容量为(counti,j+1)/2。
费用为0
Road
数列h
修改,使之满足:相邻项差小于d
总修改代价为 Σ|Δh[i]|
NOI2009 湖南省选题
有别的算法,但是可以用网络流做
令a[i]=h[i]-h[i+1]
h[i]加1 ? a[i-1]减1 且 a[i]加1。
将a重新分配,使得每个a都在[-d,d]范围内。
每个a[i]抽象为点
特殊情况:修改h[1](h[n])只影响a[1](a[n-1]),所以a[1]和a[n-1]会凭空多1或少1
凭空多1,从源点来,从s向1和n-1连边, 容量+∞ ,费用1
类似,从1和n-1向t连边,容量 +∞ ,费用1
最小费用可行流
建设乌托乡
一张图,有特殊点和一般点
每条边的端点中至少一个特殊点
每个点有权值L,特殊点可以修改,代价为c*|ΔL[i]|
边(i,j)要计算代价,为e*|L[i]-L[j]|
求min{c*Σ|ΔL[i]|+e*Σ|L[i]-L[j]|}
L只能为1~20的整数
有道难题2010总决赛题
j为一般点,且与i有边
再考虑特殊点之间的边
简单情况:边(1,2)、(2,3),只有4种取值
点1
点2
点3
1
2
3
4
取值
L[1]’=4,L[2]’=2,L[3]’=3
代价:e*(2+1)+c*Σcost[i][L[i]’]
最小割
锦标赛
单循环,无平局,胜利最多夺冠,已知部分比赛结果
问哪些人可能夺冠
《算法艺术与信息学竞赛》
枚举让谁夺冠,他剩下所有比赛均获胜
二分余下选手最多获胜局数k
合理分配每局的胜利方
剩下的每局比赛抽象为点,每个选手抽象为点
比赛向对应2个选手连边,容量1
设选手i已获胜w[i]局,则i向T连边容量为k-w[i]
S向比赛点连容量1的边
志愿者招募
N天
第i天需要a[i]个志愿者
M类志愿者,每类人数无限
第i类从第s[i]天工作到第t[i]天,费用c[i]
求最小花费
NOI2008
3 3
2 3 4 //a[i]
1 2 2 //[1,2] c=2
2 3 5 //[2,3] c=5
3 3 2 //[3,3] c=2
X[1]=2
X[1]+X[2]=3
X[2]+X[3]=4
X[1]=2
X[1]+X[2]=3
X[2]+X[3]=4
X[1]-Y[1]-2=0
X[1]+X[2]-Y[2]-3=0
X[2]+X[3]-Y[3]-4=0
X[1]-Y[1]-2=0
X[1]+X[2]-Y[2]-3=0
X[2]+X[3]-Y[3]-4=0
0=0
X[1]-Y[1]-2=0
Y[1]+X[2]-Y[2]-1=0
-X[1]+Y[2]+X[3]-Y[3]-1=0
-X[2]-X[3]+Y[3]+4=0
X[1]-Y[1]-2=0
Y[1]+X[2]-Y[2]-1=0
-X[1]+Y[2]+X[3]-Y[3]-1=0
-X[2]-X[3]+Y[3]+4=0
每个X、Y只出现2次,且正负各一次
从一个点流出
文档评论(0)