都是大水题 很多题都是口胡 而且题解写的并不好...
[SCOI2007]蜥蜴
把一个点拆成两个点 中间连上点权的边
luoguP2711 小行星
可以分成三个部,x部,y部与z部,做最小割
x与s相连,w=1;z与t相连,w=1,以y部为中间部连接x与z w=inf
y部的点要拆点 连w=1边
luoguP2045 方格取数加强版
S,T连(1,1) (n,n) 容量K费用0
方格上每个点拆成入点和出点
它们之间连两条边,一条容量1费用点权(表示最多获得一次收益),另一条容量inf费用0(表示可以经过无数次)
每个点向下面和右面连容量inf费用0的边 然后最大费用最大流
luoguP3410 拍照
最大权闭合子图建图:
如果选A则必须选B 则A向B连\(\infty\)边
选A收益为正 则S向A连此收益的边 否则向T连边
最终答案等于所有物品正收益之和减最小割
这道题直接按题意连边就行
[JLOI2010]冠军调查
S连向同意的人,T连向不同意的人,朋友之间连w=1双向边
当S和T还连通时则必然存在一条路径,证明有人产生矛盾
直接最小割
[SDOI2013]费用流
所有的单位费用应该被分配在流量最大的边上
二分 判断是否存在最大流 会有实数流量
(不过不是很清楚网络流跑实数流量复杂度会怎样)
bzoj1001 狼抓兔子
看这个 http://blog.sina.com.cn/s/blog_60707c0f01011fnn.html
我是一点平面图的常识都没有
https://blog.csdn.net/weixin_42068627/article/details/80788974 这个实现应该简单一点
[POI2005]KOS-Dicing
可以二分 也可以从1到m枚举答案,每次将所有连向t的边流量加1
[NOI2009]植物大战僵尸
但是如果两棵植物互相保护形成环 需要把环消去
不在环上的边反向做最大权闭合子图
[CQOI2014]危桥
S连到a1和b1 \(w=2*a_n\),T连到a2和b2 \(w=2*b_n\),相当于一次把两遍走了
看看最大流是不是\((2*a_n+2*b_n)\)
还要S连到a1和b2 ,T连到a2和b1,再判一下,防止上一次是a1流到b2、b1流到a2
[CQOI2009]跳舞
二分答案 考虑判定mid是否可行
把每个人拆成喜欢和不喜欢两个点
从S连向男生喜欢,w=mid,喜欢向不喜欢连边,w=K
男生喜欢连向女生喜欢 男生不喜欢连向女生不喜欢
[国家集训队]happiness
比较经典的最小割题 但我忘得一干二净
每个点分别向S和T连文/理收益
新建同时选文的点 S向该点连收益的边 该点向对应的座位连inf边 其他同理
[HNOI2013]切糕
一个很实用的建图方法 以下基本复制xyz32768大佬的题解
切点看作割边 新建一层\(R+1\)
S向\(1\)层所有点连边 新建一层\(R+1\) \(R+1\)层所有点向T连边
由\((i,j,k)\)向\((i,j,k+1)\)连一条容量为\((i,j,k)\)的不和谐值的边。
这样从\((i,j,1)\)到\((i,j,R+1)\)的路径上需要且只需要割掉一条边。
对于在同一平面上距离为\(1\)的两个点对\((i,j),(x,y)\) 只要限制\(f(i,j)-f(x,y)\leq D\)即可
(因为如果有\(f(i,j)-f(x,y)<-D\),那么一定有\(f(x,y)-f(i,j)>D\),不符合条件)
建图其实就是让\(f(i,j)-f(x,y)>D\)时,\(S\)仍然可以到达\(T\)。
对于在同一平面上距离为\(1\)的两个点对\((i,j),(x,y)\),对于任何一个\(D+1\leq k\leq R+1\),由\((i,j,k)\)向\((x,y,k-D)\)连一条容量为\(\infty\)的边。
求最小割即可
好像2020联合省选d1t3用这个trick可以得到不少分。。。
[ZJOI2010]网络扩容
先做完第一问 留下一个残量网络
对于原图的每个边 加一条费用为扩容费用 容量inf的边
\(K\)的限制只要再建一个源点往\(1\)连容量\(K\)费用\(0\)的边
[CQOI2012]交换棋子
写不动 copy别人题解
https://www.luogu.com.cn/blog/_post/89491
https://www.luogu.com.cn/blog/dedicatus545/solution-p3159
[NOI2008]志愿者招募
又是一个很nb的思路
建立天数个点 连成一条链 链上每条边容量\(inf-a_i\) 链的首尾与S,T连inf边
每个志愿者连从s到t+1 容量inf费用为招募费用的边
类似的还有loj6079
[SCOI2007]修车
考虑一个工人 维修序列是\(A_1,A_2,\cdots,A_s\)
\(A_i\)的贡献为\(A_i\times (s-i+1)\)
倒过来考虑 贡献为\(A \times i\)
每个工人拆成\(N\)个点 第\(i\)个点表示修倒数第\(i\)辆车
车向所有工人节点连流量1费用为代价的边就行了
[NOI2012]美食节
上一道题的升级版
如果直接用上一道题的方法 设spfa复杂度线性 复杂度为\(O(nmp^2)\) 不能通过
但是有很多边是没有用到的 可以一边增广一边加边
初始边数\(O(nm)\) 每次增广加\(O(n)\)条边 总复杂度\(O(np^2+nmp)\) 可以通过
soj966
感觉挺巧妙的 但好像就我不会
https://www.cnblogs.com/misaka10047/p/13235972.html
loj6068
nb的棋盘模型
对于每一行或列被#
隔开的每一段拿出来当做一个点,然后对于每个点从其所属的行连通块向列连通块连边
\(\binom{x+1}{2}-\binom{x}{2}=x\) 所以从S向行联通块,列联通块向T连容量1费用\(0,1,2,\cdots,该联通块大小-1\)的边
每次跑一个流量就行
[WC2007]剪刀石头布
我对竞赛图一无所知
考虑三个点不构成环的条件 必然一点入度2 一点出度2 一点入度出度都为1
考虑入度 每次入度2都会失去一个三元环
设点\(i\)入度为\(deg_i\) \(i\)会使得整个图失去\(\binom{deg_i}{2}\)个环
讲每个未定向的边视为点 类似上一题
s向每个边对应的点连边 边对应的点向原图上两端的点连流量1边(会让一个点入度加一) 原图点向t连费用递增的边
[BZOJ3774]最优选择
懒得写了。。。 还是抄别人的吧 不过感觉挺重要的
黑白染色 在最小割中 串联表示或 并联表示且
https://www.cnblogs.com/CQzhangyu/p/8469613.html
[CQOI2017]老C的方块
四个颜色。。。
https://www.luogu.com.cn/blog/ShadowassIIXVIIIIV/solution-p3756
zhengruioi 1209
神奇的一批。。 还是去找官方题解吧
[六省联考2017]寿司餐厅
最大权闭合子图
如果选择了\(d_{i,j}\) 则必须选择\(d_{i+1,j}\)和\(d_{i,j-1}\)
如果选择了\(d_{i,i}\) 则必须付出\(a_i\)(这个直接\(d_{i,i}-=a_i即可\))和\(m\times a_i^2\)(这个可以视为一个物品)代价
[八省联考2018]劈配
据说很多人想到了解法但并不是每个人都能A掉。。
https://www.luogu.com.cn/blog/user37070/solution-p4382
[NOI2015]小园丁与老司机
关于上下界网络流可以看这个 https://www.cnblogs.com/mlystdcall/p/6734852.html
https://www.cnblogs.com/misaka10047/p/13278421.html
[SDOI2016]数字配对
https://www.luogu.com.cn/blog/user29936/solution-p4068
[WF2011]Chips Challenge
http://wyfcyx.is-programmer.com/posts/199813.html
[TJOI2013]循环格
入度出度都为1
https://www.luogu.com.cn/blog/PYblog/solution-p3965
[TopCoder SRM570 900]CurvyonRails
https://ksmeow.moe/cr_tc12432_sol/
[JSOI2009]球队收益
度数限制经典nb题
重点是假设每场比赛双方都是输的 然后可以费用递增模型
https://www.luogu.com.cn/blog/hbyer/solution-p4307
[SDOI2010]星际竞速
基本复制George1123题解
想象有 \(n+1\) 个人接力跑 ,分别在点 \(s\) 和 \(1\sim n\)上 ,开始时接力棒在 \(s\) 那个人手上。
这时候他拿着接力棒开始跑,到达某个星球后停止,把接力棒交给该星球上的选手,并打卡结束比赛。
该选手又出发,循环此过程。每个星球只可以打卡一次,必须打卡。路上走过的路程相当于费用。
最后的最大流最小费用就是答案,而原问题与此等效。
建图:每个点拆成左右两边的点
s向左侧点流量1费用0(相当于等待的人)
s向右侧点流量1费用\(a_i\)
右侧点向t流量1费用0
左边向右边连原图的边
注意只有DAG该建图才能成立
这种模型大概是右边点用于打卡保证所有点被经过恰好一次 左边用于出发
【网络流24题】餐巾计划
https://www.luogu.com.cn/blog/user31955/solution-p1251
和星际竞速同属签到模型 右侧点用于签到检验是否满足要求 左侧点用于出发
[ZJOI2011]营救皮卡丘
https://dra.blog.luogu.org/solution-p4542
仍然是签到模型
CF280D
https://www.luogu.com.cn/blog/user18895/solution-cf280d
【NEERC2016】Mole Tunnels
https://www.luogu.com.cn/blog/duyi/solution-p6122
[noi2017] 蔬菜
好像从模拟费用流角度考虑反而更复杂。。
很神仙的贪心
https://www.luogu.com.cn/blog/ShadowassIIXVIIIIV/solution-p3826
[noi2019] 序列
咕了。。 现在还不会做 以后再写吧 估计写起来很恶心
最大密度子图
一个图的密度是图上的边的数量除以点数。我们现在想要知道一张图的密度最大的子图。
0/1分数规划 二分答案后 相当于边权1 点权-mid
相当于选了边必须选两侧的点 最大权闭合子图
POJ1149 PIGS
调换猪当成猪寄存在顾客处 然后该顾客可以把猪发放给与它的猪圈集合有交的人
顾客向T连w=购买量的边
对于每个猪圈 S向第一个打开它的顾客连边
对于每个猪圈 每个包含它顾客向下一个包含它顾客连inf边
CF510E
由于\(a_i \ge 2\) 和为质数必定一奇一偶
奇数和偶数分成二分图的左右部
如果一个数匹配了两个数 必然能形成环
到S和T的容量设为2即可
bzoj3698
https://www.cnblogs.com/GXZlegend/p/7072443.html
https://www.cnblogs.com/CQzhangyu/p/7071417.html
CF103E
https://www.luogu.com.cn/blog/Marser/solution-cf103e
[CTSC1999]家园 / 星际转移问题
https://www.luogu.com.cn/blog/litble-blog/solution-p2754
POI2010 Bridges
https://www.luogu.com.cn/blog/hbxblog/solution-p3511
CEOI2008 order
TJOI2015 线性代数
bzoj2132
https://www.cnblogs.com/CHerish_OI/p/8126243.html
SRM577 BoardPainting
SRM594 FoxAndGo3
https://blog.csdn.net/zxyoi_dreamer/article/details/100783736
我现在不会最基础的知识:https://blog.csdn.net/wzazzy/article/details/83478869
SRM558 SurroundingGame
https://www.cnblogs.com/Y-E-T-I/p/8619496.html
bzoj3218 A + B Problem
https://www.cnblogs.com/zhoushuyu/p/9139559.html
SRM627 LaserTowersDiv1
https://blog.csdn.net/zxyoi_dreamer/article/details/100772097
bzoj4213
http://hzwer.com/7476.html
zjoi2011 最小割
这个黑科技好像叫最小割树
chessboard
还有很多东西没学 线性规划一点都不懂
感觉这个不错,但还没看:https://blog.csdn.net/qq_31918005/article/details/81268671?utm_source=blogxgwz8