随笔分类 -  图论 网络流 最大流/最小割

摘要:【题目】#2146. 「SHOI2017」寿司餐厅 【题意】给定n种寿司的代号,取区间[i,j]的寿司收益是d[i,j]和所有子区间的d,吃了c(c>0)种代号x的寿司的代价是mx^2+cx,给定n,m和矩阵d(有负数!),求最大收益。n<=100。 【算法】最大权闭合子图 【题解】开始考虑每个区间 阅读全文
posted @ 2018-04-07 15:18 ONION_CYC 阅读(440) 评论(0) 推荐(1)
摘要:【题意】给定无向图,现在可能有一些点已经被删除,只给出信息是c个点未被删除且不能到达结点1,求最少的删除点个数。 【算法】最小割 【题解】本题和1的区别是:1求的是最少的不能到达1的结点数,那么就把损坏点圈缩在不可达点的邻点。 本体求的是删除最少的点使c个点不可达,这样的要求就是典型的最小割。 每个 阅读全文
posted @ 2017-09-27 18:41 ONION_CYC 阅读(221) 评论(0) 推荐(1)
摘要:【题意】给定n*n网格,有k个物品,每次可以消灭一行或一列,求消灭掉所有物品的最少操作次数。 【算法】二分图最小覆盖 【题解】此题是最小覆盖模型的出处。 将物品的x-y连边建立二分图。 最小覆盖:选择最少的点,使每条边至少有一个端点被覆盖。 刚好对应题意。 最小覆盖可以用最小割解决,将选择点视为割去 阅读全文
posted @ 2017-09-26 19:25 ONION_CYC 阅读(345) 评论(0) 推荐(0)
摘要:【算法】最大流 【题解】 S连向食物连向牛连向牛‘连向饮料连向T。 经典的一个元素依赖于两个元素的建图方式。 #include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace std; con 阅读全文
posted @ 2017-08-29 22:12 ONION_CYC 阅读(275) 评论(0) 推荐(0)
摘要:【算法】数论,二分图最大匹配 【题意】有无限张牌,给定n张面朝上的牌的坐标(N<=100),其它牌面朝下,每次操作可以选定一个>=3的素数p,并翻转连续p张牌,求最少操作次数使所有牌向下。 【题解】 1.定义bi,当ai和ai-1的朝向相同时,bi=0,否则bi=1。特别的,a0朝向下。 则问题转化 阅读全文
posted @ 2017-08-13 09:03 ONION_CYC 阅读(528) 评论(0) 推荐(2)
摘要:【题意】求DAG上最多的点使得互不可达。 【算法】floyd+最大匹配 【题解】 链是DAG上的一个点集,集合内的点相互单向可达。 反链是DAG上的一个点集,集合内的点相互不可达。 题目显然是求最长反链,转化为最小链覆盖。 最小链覆盖只要求可达,最小路径覆盖却要求相连。 所以floyd传递闭包(用f 阅读全文
posted @ 2017-08-12 19:19 ONION_CYC 阅读(440) 评论(1) 推荐(0)
摘要:【算法】博弈论+二分图匹配(最大流) 【题解】方格图黑白染色得到二分图, 二分图博弈:当起点不属于某个最大匹配时,后手必胜。 问题转化为那些点不属于某个最大匹配。 先找到一个最大匹配,非匹配点加入答案。 假设一个匹配点要解放成为非匹配点,则与其匹配的点必须去匹配另一个点。如果另一个点也是匹配点,则其 阅读全文
posted @ 2017-07-25 21:55 ONION_CYC 阅读(370) 评论(0) 推荐(0)
摘要:算法:网络流 题目:网络流24题(多按一下F5) 【最小路径覆盖问题】 关于输出路径,因为即使有反向弧经过左侧点也一定会改变左侧点的去向,若没连向右侧就会被更新到0,所以不用在意。 mark记录有入度的右侧点,然后从没入度的右侧点开始把整条路径输出来即可。 #include<cstdio> #inc 阅读全文
posted @ 2017-04-16 21:58 ONION_CYC 阅读(290) 评论(0) 推荐(0)
摘要:【题目】#6003. 「网络流 24 题」魔术球 【算法】最小路径覆盖(详细知识参考网络流总结) 【题解】(i+j)为完全平方数则连边,那么问题转化为添加尽可能多的点使得最小路径覆盖≤n(一条简单路径表示一根柱子) 从1开始枚举答案,每次可以直接在上一次的残余网络上建边增广(二分不优),直到最小路径 阅读全文
posted @ 2017-04-16 21:46 ONION_CYC 阅读(860) 评论(0) 推荐(3)
摘要:【题目】1738: 最小路径覆盖问题 【题解】网络流 关于输出路径,因为即使有反向弧经过左侧点也一定会改变左侧点的去向,若没连向右侧就会被更新到0,所以不用在意。 mark记录有入度的右侧点,然后从没入度的右侧点开始把整条路径输出来即可。 #include<cstdio> #include<algo 阅读全文
posted @ 2017-04-15 09:01 ONION_CYC 阅读(270) 评论(0) 推荐(0)
摘要:【网络流与二分图】专题链接 【图论】 图论-刘汝佳 完全三部图:图G可被分为三个顶点集,点集内的点相互均没有连边,不同点集的点之间相互均有连边。完全三部图的三元环个数是三点集点数的乘积。 无向无环图就是树。有向无环图DAG方便操作。 有环图可以tarjan缩点。 哈密顿回路(路径):每个点只经过一次 阅读全文
posted @ 2017-03-25 18:13 ONION_CYC 阅读(1215) 评论(0) 推荐(1)
摘要:【算法】二分图最大匹配(最大流) 【题解】按(i+j)奇偶性染色后,发现棋子跳到的地方刚好异色。 然后就是二分图了,对于每个奇点向可以跳到的地方连边,偶点不需连(可逆)。 所以题目要求转换为求二分图上最大独立集(对于每条边,至少有一个点不被选中)。 最大独立集=总点数-最小割 //代码略 //hzw 阅读全文
posted @ 2017-03-03 21:41 ONION_CYC 阅读(413) 评论(0) 推荐(0)
摘要:【算法】二分图匹配(最大流) 【题解】对i+j进行奇偶染色,就可以保证相邻两格异色。 然后就是二分图了,对相邻格子连边跑最大流即可。 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const i 阅读全文
posted @ 2017-03-03 20:06 ONION_CYC 阅读(322) 评论(0) 推荐(1)
摘要:【最大流】Dinic ★推荐:Dinic入门。 本质:网络流本质上是为了解决一类取舍问题,这类取舍问题无法得知最优策略的模式(无法DP),因此通过构造一些带容量的路径表示原题目容量,模拟水流在这些容量之间的取舍,从而可以利用网络流来解决取舍问题。 Dinic算法:bfs得到分层图,然后严格按照分层图 阅读全文
posted @ 2017-03-03 14:25 ONION_CYC 阅读(4331) 评论(5) 推荐(1)
摘要:【算法】网络流-最大流+最小费用最大流(费用流) 【题解】 第一问跑最大流。 第二问: 原始边相当于费用为0的边,再原图(跑过最大流的图)基础上添加带费用的边,容量为k(相当于inf)。 第一问最大流使用了哪条边对第二问没有影响,因为费用流肯定优先往费用为0的边(原始边)跑。 限流k?添加超级源向1 阅读全文
posted @ 2017-03-01 23:02 ONION_CYC 阅读(412) 评论(0) 推荐(0)
摘要:【算法】网络流-最大流(dinic) 【题解】 飞船有可承载人数限制,地球为源点,月球为汇点,人像水流一样从以飞船上限为容量的边流向汇点。 人在各站点都面临着上船与否的选择,难以用DP解决最优策略,于是这样的取舍问题可以使用网络流。 其实主要是看数据范围。 构图思路: 由于我们要计算时间,所以使变量 阅读全文
posted @ 2017-02-23 21:51 ONION_CYC 阅读(273) 评论(0) 推荐(0)
摘要:【算法】网络流-最大流(dinic) 【题解】 构图思路: 因为石柱高度是可以被消耗的,即一根石柱可通过的蜥蜴数量有限,取舍问题中这样表示容量的属性显然可以作为网络流中的边。 于是将一根石柱拆成顶部和底部,中间连一条容量为石柱高度的边。 超级源向有蜥蜴的石柱顶连一条容量为1的边(表示一只蜥蜴)。 可 阅读全文
posted @ 2017-02-22 22:01 ONION_CYC 阅读(363) 评论(0) 推荐(0)
摘要:【算法】网络流-最大流(dinic) 【题解】http://www.cnblogs.com/onioncyc/p/6496532.html #include<cstdio> #include<algorithm> #include<cstring> using namespace std; cons 阅读全文
posted @ 2017-02-20 21:37 ONION_CYC 阅读(361) 评论(0) 推荐(0)
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2144) 评论(0) 推荐(6)