![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络流24题
HumveeA6
这个作者很懒,什么都没留下…
展开
-
洛谷P2765魔术球问题(网络流24题)
首先我们考虑如何建图,即表达相邻球之间的关系。 可以将一个球拆点为Ai和Bi,先从源点S向Ai连容量为1的边,从B_i 向汇点连容量为1的边。对于能够与它编号和为完全平方数的球j,连接A_j和Bi。 枚举球数,球数每增加1就建立新加入的球的关系,并且重复地跑最大流。柱子数对于球数存在一种单调递增的相关关系,我们这样可以求出某一柱子数下最多能放置的球数,因为当新加入的球能够加入柱子时,重复跑最大...原创 2018-03-10 09:59:00 · 254 阅读 · 0 评论 -
洛谷P2766最长不下降子序列问题(网络流24题)
【问题分析】第一问时LIS,动态规划求解,第二问和第三问用网络最大流解决。【建模方法】首先动态规划求出F[i],表示以第i位为开头的最长上升序列的长度,求出最长上升序列长度K。1、把序列每位i拆成两个点i.a和i.b,从i.a到i.b连接一条容量为1的有向边。2、建立附加源S和汇T,如果序列第i位有F[i]=K,从S到i.a连接一条容量为1的有向边。3、如果F[i]=1,从...原创 2018-03-10 11:51:10 · 338 阅读 · 0 评论 -
最小路径覆盖(模板)
对于一个给定的有向无环图(DAG),求其最小路径覆盖。题目可参见洛谷P2764。 【问题分析】 有向无环图最小路径覆盖,可以转化成二分图最大匹配问题,从而用最大流解决。 【建模方法】 构造二分图,把原图每个顶点i拆分成二分图X,Y集合中的两个顶点Xi和Yi。对于原图中存在的每条边(i,j),在二分图中连接边(Xi,Yj)。然后把二分图最大匹配模型转化为网络流模型,求网络最大流。 最小路径...原创 2018-03-10 16:49:07 · 306 阅读 · 0 评论 -
洛谷P2774方格取数(网络流24题)
我们对棋盘进行黑白染色((横坐标+纵坐标)%2==1的点设为黑点),可以发现,若取一个黑格的点,受到影响的就是周围的白点。于是我们可以建一个二分图。问题是,应该如何建图。如果将每个点考察他能与哪些点相连,显然太复杂了,因此我们不如将每个点与他不能相连的点连接在一起。 然后可以发现这是一个最小割的套路题,假设所有的点都取,然后去掉最小割,就是答案了。 建模:S->黑点,容量为点权 白点-...原创 2018-03-10 17:07:15 · 195 阅读 · 0 评论 -
洛谷P4016
题目标签写着网络流诶….那么问题就是如何建图了…看到题解里一波大神用平均值来计算…但是蒟蒻没想到诶…所有我就比较暴力了…. 对于每个点一拆为二(ia,ib),建立超源超汇,然后对于每个点,从源点s向其连一条容量为c[i],费用为0的边,从ia向ib连一条容量为无限,费用为0 的边(因为可以不停的把别的地方的货物搬到ia,然后从ib搬到下一个点去,ia到ib搬运当然是不用钱的),然后从ib向汇点t...原创 2018-04-06 11:28:09 · 262 阅读 · 0 评论 -
洛谷P3355
最大流与最小割之间的转换,题目做法类似于P2774方格取数 最多放多少骑士==最少拿走多少 观察图片不难发现:黄色的不能攻击黄色的,红色同理 这一点非常重要,考虑到这一点,就可以把点分为两类,一类连源点,一类连汇点,否则的话很难建图; 那么不难想到二分图匹配 这样就转化成了二分图最小定点覆盖 而二分图最小顶点覆盖==二分图最大匹配。证明可以看这里 从S向红色连边(权重为1),从红色向...原创 2018-04-06 17:39:46 · 235 阅读 · 0 评论 -
洛谷P1251
关于构图: 这是一道最小费用(费用指单价)最大流的题目。 首先,我们拆点,将一天拆成晚上和早上,每天晚上会受到脏餐巾(来源:当天早上用完的餐巾,在这道题中可理解为从原点获得),每天早上又有干净的餐巾(来源:购买、快洗店、慢洗店)。1.从原点向每一天晚上连一条流量为当天所用餐巾x,费用为0的边,表示每天晚上从起点获得x条脏餐巾。 2.从每一天早上向汇点连一条流量为当天所用餐巾x,费用为0的...原创 2018-04-06 21:31:09 · 204 阅读 · 0 评论