网络流
文章平均质量分 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 · 273 阅读 · 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 · 151 阅读 · 0 评论 -
【最大权闭合子图】【网络流】最优价值
题意分析:最大权闭合子图题解讲得非常清晰然后,正权值是由原点连向该点,容量为该点权值。负权值是由该点连向汇点,容量为该点的权值的相反数。结果就是:所有正权值之和-最小割。本题由于只有第一层权值为正,所以最优性可以保证合法性(即不会只选择后面某个子图)建完图大概是这个样子:然后就可以过了。#include<cstdio>#include<cstring...原创 2019-02-13 21:57:38 · 185 阅读 · 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 · 270 阅读 · 0 评论 -
【费用流】【求证明】2019雅礼集训 sum
题目:在不超过n的数中,选出一个集合,使得集合内部元素两两互质,且集合元素总和尽可能大。分析:神奇的性质题。出题人不会证,问了一堆大佬也不会。哈(那么证明就留给读者来完成)性质是:1、每个元素最多只有两个质因子。2、若有两个质因子,一定有一个大n\sqrt nn。有了这两个性质就很水了把质数分成超过n\sqrt nn和不超过的部分。每个质数有两种选择:1、 质数的整次...原创 2019-01-12 11:15:07 · 281 阅读 · 0 评论 -
【网络流】【树链剖分】CodeForces786E ALT
题意:给出一棵树,有一些人要从某个点沿最短路走向另一个点,现在可以在人和边上放狗。要求:每个人要么自己有一条狗,要么经过的每一条边上都有一条狗。分析:首先,如果数据范围小一点,那么这就变成了最小割板题了:连边方式:那么,为了解决会T的问题,考虑优化建图。受到线段树优化区间建图的思想启发,不难联想到:用树上的线段树优化链建图:树链剖分所以,这就是一个树链剖分优化建图的板题…#i...原创 2018-12-25 09:04:18 · 469 阅读 · 0 评论 -
【扫描线】【网络流】CodeForces793G Oleg and chess
题意:给出一个棋盘,其中一些矩形位置不能放棋子。现在往棋盘里面放入车,使得其不能互相攻击。求能放的最大数量。分析:如果题目是给出:某些矩形能放棋子,那这题就非常的模板了。可以把矩形当做点,然后每行每列分别视为一个点,行点向覆盖其的矩形连边,矩形再向覆盖的列点连边。原点向每个行点连一条容量为1的边,列点向汇点连一条容量为1的边。然而这样显然会T,所以要用线段树优化建图。嗯。。非常...原创 2018-12-24 23:15:38 · 243 阅读 · 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 · 320 阅读 · 0 评论 -
【最短路】【网络流】BZOJ1001狼抓兔子
分析:很容易发现最小割模型,然而最多有10002100021000^2个点,明显网络流会T掉,所以这里就有一个很巧妙的结论:平面图的最小割=其对偶图的最短路。所谓对偶图,就是将原图的每个空白区域,看作一个点,每两个相邻的区域连一条边。边权为原图中分开两区域的边权。 样例的对偶图如下: 很容易发现这个性质是显然的。因为任意一个割,就对应了对偶图中的一条路径。所以最小割无非就是最短路。...原创 2018-07-08 21:07:11 · 201 阅读 · 0 评论 -
【费用流】CurvyonRails
题意:给出一个(n×m)(n×m)(n\times m)棋盘,其中有一些格子是城市,有部分城市是重要区域,要求在城市中修轨道,要求: 轨道只能放在城市之中,并且每个轨道需要与相邻的四个格子中的两个相连, 需要使每个城市都有轨道,不是城市的地方不能有轨道,城市之间不需要联通。重要区域的轨道要尽量弯曲,即重要区域的轨道需要连接一横一纵两个方向。现在定义一种方案的代价为:重要区域直行轨道的数...原创 2018-03-15 21:12:37 · 360 阅读 · 0 评论 -
【暴力&网络流】SRM549Div1 CosmicBlocks
题意:给出一些各有一定数量的不同颜色的砖块,现在要将这些砖块堆成一些塔,要求: 所有颜色相同的砖块必须在同一层; 定义两种不同的方案为:存在一个颜色对i,ji,ji,j满足在A方案中,有颜色iii在颜色jjj的砖块上的情况,而在B中不存在。现在需要移除这些砖块,移除的规则如下: 每次移除,声明一种颜色,将表面的所有这种颜色的砖块全部移除,并且每种颜色只能声明一次。要求最后必须移除所有...原创 2018-03-15 10:21:51 · 278 阅读 · 0 评论 -
【最小生成树&LCT】Codeforces603E-Pastoral Oddities
题目大意:给出一个图,求使得这个图中每个点的度数都为奇数。 求出用前i条边,使图满足条件的情况下,最大边权的最小值。分析:SolutionA LCT维护最小生成树很容易发现一些性质: 如果要使得图中每个点度数为奇数,那么每个联通块中点的个数一定为偶数: 根据题目,为了使最大边权最小,我们可以把每个联通块看成它的最小生成树,那么这棵树一定满足:每个非根节点的儿子结点个数必须为偶数,根节点儿子结原创 2017-09-28 10:06:56 · 446 阅读 · 0 评论 -
【网络流】【贪心】「九省联考 2018」秘密袭击
题意:太鬼扯了自己去看分析:很暴力的贪心+网络流check这种多点共同选择的问题一定要联想到网络流第一问每次在残留网络上跑看能不能跑出新流量,能跑出即为当前层数。第二问用二分,每次重建图跑就好了,不用非要去存图,太耗内存而且代码复杂度也差不多。#include<cstdio>#include<cstring>#include<algorithm&g...原创 2019-02-27 11:22:33 · 231 阅读 · 0 评论