![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络流
文章平均质量分 56
616156
赛高______↑
展开
-
【网络流】bzoj3901(?)Magic
题意: 给定一个n点,m边的有向图,每个点有一个ai和一个bi 每个点的代价,定义为:这个点所有的出边中,ai最大的一个 你可以在代价中加bi,使当前节点的ai为0题解: 首先,如果你和我一样想到费用流,那么最好及时弃掉。。。。 正解是最小割: 我们把a和b拆开来看,换句话说,每个点a,b分别维护一个节点 对每一个点,可以构造如下图 其中满足aj>ak>…>an 这里可以手原创 2017-03-09 23:54:00 · 276 阅读 · 0 评论 -
【网络流】BZOJ5228 省选十连测Bounce
分析: 网络流比较好的题 每个点拆成A和B两点 然后按照如图所示,每个点的A点向另一点的B点连边 最后如果那个点必须选,则不连从A到B的边(那条边表示这个点不加入最终方案) #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<algorit...原创 2019-03-03 15:44:38 · 155 阅读 · 0 评论 -
【最大权闭合子图】【网络流】最优价值
题意 分析: 最大权闭合子图 题解讲得非常清晰 然后,正权值是由原点连向该点,容量为该点权值。 负权值是由该点连向汇点,容量为该点的权值的相反数。 结果就是:所有正权值之和-最小割。 本题由于只有第一层权值为正,所以最优性可以保证合法性(即不会只选择后面某个子图) 建完图大概是这个样子: 然后就可以过了。 #include<cstdio> #include<cstring...原创 2019-02-13 21:57:38 · 188 阅读 · 0 评论 -
【网络流】【ZOJ3229】Shoot the Bullet
isap被卡了。。。 懒得去写Dinic。。存个T的代码。。 #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; #include&lt;cmath&gt; #include&lt;vector&gt; #define SF scanf #define PF原创 2019-02-28 17:16:27 · 274 阅读 · 0 评论 -
【费用流】【求证明】2019雅礼集训 sum
题目: 在不超过n的数中,选出一个集合,使得集合内部元素两两互质,且集合元素总和尽可能大。 分析: 神奇的性质题。 出题人不会证,问了一堆大佬也不会。 哈(那么证明就留给读者来完成) 性质是: 1、每个元素最多只有两个质因子。 2、若有两个质因子,一定有一个大n\sqrt nn。 有了这两个性质就很水了 把质数分成超过n\sqrt nn和不超过的部分。 每个质数有两种选择: 1、 质数的整次...原创 2019-01-12 11:15:07 · 285 阅读 · 0 评论 -
【网络流】【树链剖分】CodeForces786E ALT
题意: 给出一棵树,有一些人要从某个点沿最短路走向另一个点,现在可以在人和边上放狗。要求:每个人要么自己有一条狗,要么经过的每一条边上都有一条狗。 分析: 首先,如果数据范围小一点,那么这就变成了最小割板题了: 连边方式: 那么,为了解决会T的问题,考虑优化建图。 受到线段树优化区间建图的思想启发,不难联想到:用树上的线段树优化链建图:树链剖分 所以,这就是一个树链剖分优化建图的板题… #i...原创 2018-12-25 09:04:18 · 473 阅读 · 0 评论 -
【扫描线】【网络流】CodeForces793G Oleg and chess
题意: 给出一个棋盘,其中一些矩形位置不能放棋子。 现在往棋盘里面放入车,使得其不能互相攻击。 求能放的最大数量。 分析: 如果题目是给出:某些矩形能放棋子,那这题就非常的模板了。 可以把矩形当做点,然后每行每列分别视为一个点,行点向覆盖其的矩形连边,矩形再向覆盖的列点连边。原点向每个行点连一条容量为1的边,列点向汇点连一条容量为1的边。 然而这样显然会T,所以要用线段树优化建图。 嗯。。非常...原创 2018-12-24 23:15:38 · 246 阅读 · 0 评论 -
【DP】【二分图最大权匹配】DeerInZooDivOne
题意: 给出一棵树,找出其中两个互相同构的联通块,要求联通块尽可能大。 N≤50N\le 50N≤50 分析: 首先,要求联通块必须分开,可以暴力枚举一条边,将这条边删去,然后在两侧找同构联通块。 具体做法可以利用DP: dp(x,fax,y,fay)dp(x,fa_x,y,fa_y)dp(x,fax,y,fay)表示:在以x为根,faxfa_xfax为父亲的子树,与以y为根,fayfa_...原创 2018-10-14 19:13:34 · 329 阅读 · 0 评论 -
【最短路】【网络流】BZOJ1001狼抓兔子
分析: 很容易发现最小割模型,然而最多有10002100021000^2个点,明显网络流会T掉,所以这里就有一个很巧妙的结论:平面图的最小割=其对偶图的最短路。所谓对偶图,就是将原图的每个空白区域,看作一个点,每两个相邻的区域连一条边。边权为原图中分开两区域的边权。 样例的对偶图如下: 很容易发现这个性质是显然的。因为任意一个割,就对应了对偶图中的一条路径。所以最小割无非就是最短路。 ...原创 2018-07-08 21:07:11 · 202 阅读 · 0 评论 -
【费用流】CurvyonRails
题意: 给出一个(n×m)(n×m)(n\times m)棋盘,其中有一些格子是城市,有部分城市是重要区域,要求在城市中修轨道,要求: 轨道只能放在城市之中,并且每个轨道需要与相邻的四个格子中的两个相连, 需要使每个城市都有轨道,不是城市的地方不能有轨道,城市之间不需要联通。 重要区域的轨道要尽量弯曲,即重要区域的轨道需要连接一横一纵两个方向。现在定义一种方案的代价为:重要区域直行轨道的数...原创 2018-03-15 21:12:37 · 364 阅读 · 0 评论 -
【暴力&网络流】SRM549Div1 CosmicBlocks
题意: 给出一些各有一定数量的不同颜色的砖块,现在要将这些砖块堆成一些塔,要求: 所有颜色相同的砖块必须在同一层; 定义两种不同的方案为:存在一个颜色对i,ji,ji,j满足在A方案中,有颜色iii在颜色jjj的砖块上的情况,而在B中不存在。 现在需要移除这些砖块,移除的规则如下: 每次移除,声明一种颜色,将表面的所有这种颜色的砖块全部移除,并且每种颜色只能声明一次。要求最后必须移除所有...原创 2018-03-15 10:21:51 · 299 阅读 · 0 评论 -
【最小生成树&LCT】Codeforces603E-Pastoral Oddities
题目大意:给出一个图,求使得这个图中每个点的度数都为奇数。 求出用前i条边,使图满足条件的情况下,最大边权的最小值。分析:SolutionA LCT维护最小生成树很容易发现一些性质: 如果要使得图中每个点度数为奇数,那么每个联通块中点的个数一定为偶数: 根据题目,为了使最大边权最小,我们可以把每个联通块看成它的最小生成树,那么这棵树一定满足:每个非根节点的儿子结点个数必须为偶数,根节点儿子结原创 2017-09-28 10:06:56 · 451 阅读 · 0 评论 -
【网络流】【贪心】「九省联考 2018」秘密袭击
题意: 太鬼扯了自己去看 分析: 很暴力的贪心+网络流check 这种多点共同选择的问题一定要联想到网络流 第一问每次在残留网络上跑看能不能跑出新流量,能跑出即为当前层数。 第二问用二分,每次重建图跑就好了,不用非要去存图,太耗内存而且代码复杂度也差不多。 #include<cstdio> #include<cstring> #include<algorithm&g...原创 2019-02-27 11:22:33 · 235 阅读 · 0 评论