网络流
文章平均质量分 75
秋天的风--
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
展开
-
poj 3155 二分+最小割求实型最小割(最大密集子图)
/*最大密集子图子图裸题解法:*/#include#include#include#include#includeusing namespace std;#define eps 1e-6#define inf 0x3fffffff#define N 110#define NN 1100struct node {int u,v,next;double w;}bi原创 2014-11-07 10:22:53 · 857 阅读 · 0 评论 -
sgu 194 无源汇有上下界的最大流(最大流模板dinic加优化)
模板类型的题具体参考国家集训队论文:http://wenku.baidu.com/view/0f3b691c59eef8c75fbfb35c.html参考博客:http://blog.csdn.net/mypsq/article/details/38467727#include#include#includeusing namespace std;#define N 300#defi原创 2014-08-11 17:32:11 · 803 阅读 · 0 评论 -
hdu 4971 多校10最大权闭合图
/*很明显的最大权闭合图题*/#include#include#includeusing namespace std;#define N 2100#define inf 0x3fffffffstruct node {int u,v,w,next;}bian[N*N*20];int head[N],yong,dis[N],work[N];void init(){yong=原创 2014-08-23 16:15:34 · 703 阅读 · 0 评论 -
hdu 4940 无源汇有上下界最大流
题意:给出一个有向强连通图,每条边有两个值分别是破坏该边的代价和把该边建成无向边的代价(建立无向边的前提是删除该边)问是否存在一个集合S,和一个集合的补集T,破坏所有S集合到T集合的边代价和是X,然后修复T到S的边为无向边代价和是Y,满足Y分析:无源汇有上下界可行流判定, 原来每条边转化成 下界为D 上界为 D+B ,判断是否存在可行流即可。 如果存在可行流 那么说明对于任意的原创 2014-08-23 17:38:09 · 912 阅读 · 0 评论 -
hdu 4888 最大流给出行列和求矩阵
第一步,考虑如何求是否有解。使用网络流求解,每一行和每一列分别对应一个点,加上源点和汇点一共有N+M+2个点。有三类边: 1. 源点 -> 每一行对应的点,流量限制为该行的和2. 每一行对应的点 -> 每一列对应的点,流量限制为 K3. 每一列对应的点 -> 汇点,流量限制为该列的和 对上图做最大流,若源点出发的边和到达汇点的边全都满流,则有解,否则无解。若要求构造方案,则 (i,j原创 2014-08-21 20:03:18 · 1545 阅读 · 0 评论 -
hdu 2987最大权闭合图模板类型题
/*最大权闭合图模板类型的题,考验对知识概念的理解。题意:现在要辞退一部分员工,辞退每一个员工可以的到一部分利益(可以是负的),并且辞退员工,必须辞退他的下属,求最大利益和辞退的最小人数。最大权闭合图模板类型。求出最大权后沿着源点s,dfs到的点就为最小的人数。证明/*转载:利用一个经典的trick:多关键字> 建图前,对所有b[i],执行变换b[i]=b[i]*10000-1,然后原创 2014-08-10 15:24:03 · 880 阅读 · 0 评论 -
hdu 3917 最大权闭合图
/*最大权闭合图;题意:一些城市需要建路需要一些公司来负责,每个公司需要交一定的税,每条路需要给公司一定的花费,还有一个限制条件,假如说公司a建立了a-b,公司b建立了b-c那么选择公司a 那么必须选择公司b。现在要求最大收益.解:设置一个源点和汇点,将选每个公司的收益和算出来,如果为正值和源点相连,如果为负值和和汇点相连权值为其绝对值,中间的公司之间有关系的权值置为inf,最大权闭合图原创 2014-08-10 13:05:05 · 1102 阅读 · 0 评论 -
最大权闭合图学习
[网络流]最大权闭合图(转载)来自: http://hi.baidu.com/%C6%AE%BB%A8%C4%EA%B4%FA/blog/item/45d4bb1765e7044721a4e960.html以下内容参考 胡伯涛 《最小割模型在信息学竞赛中的应用》,感谢他为我们提供这么优秀的论文。看不懂以上论文的同学,可以试试看一下以下内容,本文无大量的数学符号,方便阅读理解。 首先我转载 2014-08-07 10:37:36 · 508 阅读 · 0 评论 -
hdu 4859 最大点权独立集的变形(方格取数的变形)
/*刚开始不会写,最大点权独立集神马都不知道,在潘神的指导下终于做出来,灰常感谢ps;和方格取数差不多奇偶建图,对于D必割点权为0,对于.必然不割点权为inf。然后和方格取数差不多的建图.--.||E权值为2,,.||E--D权值为0.最大点权独立集=sum-最小点权覆盖。*/#include#include#includeusing namespace std;#define原创 2014-08-06 21:07:58 · 750 阅读 · 0 评论 -
zoj 3229 有源汇有上下界的最大流模板题
/*坑啊,pe的程序在zoj上原来是wa。题目大意:一个屌丝给m个女神拍照,计划拍照n天,每一天屌丝最多个C个女神拍照,每天拍照数不能超过D张,而且给每个女神i拍照有数量限制[Li,Ri],对于每个女神n天的拍照总和不能超过Gi,如果有解求屌丝最多能拍多少张照,并求每天给对应女神拍多少张照;否则输出-1。解题思路:增设一源点st,汇点sd,st到第i天连一条上界为Di下界为0的边,每个女神到原创 2014-08-12 20:00:14 · 1037 阅读 · 0 评论 -
hdu 4975 最大流解决行列和求矩阵问题,用到矩阵dp优化
//刚开始乱搞。//网络流求解,如果最大流=所有元素的和则有解;利用残留网络判断是否唯一,//方法有两种,第一种是深搜看看是否存在正边权的环,见上一篇4888//至少3个点构成的环,第二种是用矩阵dp,只需要满足某行的i列元素0,而另一行的i列元素>0,j列元素<9,//可以满足互补就证明不唯一,这个画图不难看出#include#include#includeusing names原创 2014-08-23 16:42:35 · 1327 阅读 · 2 评论 -
spoj 839 最小割+二进制
/*题意:两个点u--v的边权是由他们点值的异或得到的(lu^lv),现在给你一些边和一些点的值,问你求其他点的值保证最后的边权和最小解:/*题意:两个点u--v的边权是由他们点值的异或得到的(lu^lv),现在给你一些边和一些点的值,问你求其他点的值保证最后的边权和最小解:*/#include#include#includeusing namespace std;原创 2014-11-05 19:41:19 · 599 阅读 · 0 评论 -
zoj 2676 dinic模板求实型最小割(可做dinic模板)
/*dinic割出来的可能是负值*/#include#include#include#include#includeusing namespace std;#define eps 1e-6#define inf 0x3fffffff#define N 410struct node{ int u,v,next; double w;}bian[N*4],f[原创 2014-11-03 19:56:38 · 499 阅读 · 0 评论 -
hdu 3657 最小割(牛逼!!!!)总算理解了,必看!!!!!!!!!!!!!
转载:http://blog.csdn.net/me4546/article/details/6662959在网上看到的一句话恍然大悟啊,建立一个最小割模型之后,假设x点与源点是连着的,说明你是把x点给取到手了,不连,说明你是把x点去除,之前一直不太明白边的容量是怎么来确定的,现在知道了,方格取数是相邻两个不能取,假设x,y是相邻的两点,他们直接建无穷大的边的原因就是:假设你最后把x,y都取来了,转载 2014-10-21 17:41:32 · 748 阅读 · 0 评论 -
hdu 3879 最大权闭合图(裸题)
/*裸的最大权闭合图解:参见胡波涛的《最小割模型在信息学竞赛中的应用》*/#include#include#include#includeusing namespace std;#define N 55100//刚开始开的是5100一直越界应该是n+m#define NN 510000#define inf 0x3fffffffstruct node {int u,v原创 2014-11-06 16:43:45 · 671 阅读 · 0 评论 -
sgu 176 有源汇有上下界的最小流模板题
/*参考博文:http://hi.baidu.com/dragon_eric123/item/82e259200ece744046996282 有上下界的有源最小流*/#include#include#includeusing namespace std;#define N 300#define inf 0x3fffffffstruct node {int u,v,w,f,原创 2014-08-13 11:32:55 · 931 阅读 · 2 评论 -
poj 2516 最小费用最大流
原来这个代码超时#include#include#includeusing namespace std;#define N 200#define inf 0x3fffffffint cap[N][N];int fee[N][N];int s,t,sum,pre[N];int spfa() {queueq;int dis[N],visit[N],u,i;memset(p原创 2014-07-29 10:45:56 · 682 阅读 · 0 评论 -
zoj 2676 二分+ISAP模板求实型参数的最小割(0-1分数规划问题)(可做ISAP模板)
/*参考博文:http://www.cnblogs.com/ylfdrib/archive/2010/09/01/1814478.html以下题解为转载:zoj2676胡伯涛论文《最小割模型在信息学竞赛中的应用》中详细介绍了分数规划思想的应用。经典的有最优比率生成树。对于分数规划的应用中,常用的就是0-1分数规划,即解向量X = {x1, ……,xi, ……}, 对于∀xi∈{0,1}原创 2014-11-03 17:37:33 · 614 阅读 · 0 评论 -
hdu 3691最小割将一个图分成两部分
转载地址:http://blog.csdn.net/xdu_truth/article/details/8104721转载 2014-10-12 21:18:53 · 491 阅读 · 0 评论 -
sw算法求最小割学习
http:// blog.sina.com.cn/s/blog_700906660100v7vb.html #include #include #include #include #define INT_MAX 0x3f3f3f3f using namespace std; int mp[502][502];int N,M;bool combine[502];int m转载 2014-05-13 11:23:17 · 3014 阅读 · 4 评论 -
hdu 3879 最大密集子图(点和边均带权)(模板)
/*最大权闭合图,可以用最大密集子图来解速度更快复杂度低题解:胡伯涛《最小割模型在信息学竞赛中的应用》点和边均带权的最大密集子图s-i,权为U=点权绝对值和+边的所有权值i-t,权为U+点的值-点的度u-v,权值为w,意思是选了v后可以获利多少最大获利=(U*n-flow)/2;*/#include#include#include#include#includeusin原创 2014-11-07 12:44:25 · 1504 阅读 · 0 评论 -
hdu 1569 最大权独立集
/*最大点权独立集=sum-最小点权覆盖*/#include#include#includeusing namespace std;#define inf 0x3fffffff#define ll __int64#define N 3000struct node{ ll u,v,w,next;}bian[N*N*2];ll ma[N][N],id[N][N],h原创 2014-08-06 17:50:27 · 646 阅读 · 0 评论 -
网络流之最小点权覆盖和最大点权独立集学习
转载: 二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。 二分图最小点权覆盖 从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。建模: 原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t,将s和转载 2014-08-06 16:45:08 · 793 阅读 · 0 评论 -
poj 3469 最小割模板sap+gap+弧优化
/*以核心1为源点,以核心2为汇点建图,跑一遍最大流*/#include#include#includeusing namespace std;#define N 21000#define inf 999999999struct node {int u,v,w,next;}bian[N*40];int head[N],cur[N],gap[N],stac[N],top,n,si原创 2014-07-22 09:47:28 · 604 阅读 · 0 评论 -
ISAP 算法的学习
http://www.renfei.org/blog/isap.html算法与数学网络流-最大流问题 ISAP 算法解释2013-08-07Renfei Song 2 条评论内容提要 [隐藏]1 约定2 引入3 算法解释4 实现ISAP 是图论求最大流的算法之一,它很好的平衡了运行时间和程序复杂度之间的关系,因此非常常用。约定我们使用邻接表来表示图,表示方法可以见文章转载 2014-07-20 17:14:43 · 946 阅读 · 0 评论 -
poj 2914&&hdu 3002 全局最小割Stoer-Wagner算法模板
#include#include#include#define inf 0x3fffffff#define N 510int n,ma[N][N],combine[N];int seach(int &s,int &t) { int vis[N],i,j,tm,maxx,w[N]; memset(vis,0,sizeof(vis)); memset(w,0,sizeof(w原创 2014-05-13 13:45:21 · 762 阅读 · 0 评论 -
nyoj 310二分+dinic
#include#include#includeusing namespace std;#define inf 0x7fffffff#define N 300int p,t,n;int Min(int a,int b) {return a>b?b:a;}struct node { int u,v,w,f;}mp[40001];int flow原创 2014-04-28 17:10:44 · 499 阅读 · 0 评论 -
poj 1273最大流dinic算法模板
#include#include#define N 300#define inf 0x7fffffff#includeusing namespace std;struct node { int u,v,w,next;}bian[N*4];int head[N],yong,d[N],s,t;void addedge(int u,int v,int w) {原创 2014-04-28 08:32:34 · 569 阅读 · 0 评论 -
dinic算法求最大流的学习
一、 引言图论这门古老而又年轻的学科在信息学竞赛中占据了相当大的比重。其中,网络流算法经常在题目中出现。网络流涵盖的知识非常丰富,从基本的最小割最大流定理到网络的许多变形再到最高标号预流推进的六个优化等等,同学们在平时需要多多涉猎这方面的知识,不断积累,才能应对题目的各种变化。随着信息学竞赛的不断发展,其题目的难度以及考察范围都不断增大。现在,对于一些新出现的题目,仅仅掌握最朴素的网络流算转载 2014-04-27 20:36:14 · 750 阅读 · 0 评论 -
关于为什么要建退边的原因
假若求从1-6的原创 2014-04-12 16:39:35 · 589 阅读 · 0 评论 -
hdu 2435dinic算法模板+最小割性质
hdu2435最大流最小割2014-03-22 我来说两句 来源:hdu2435最大流最小割 收藏 我要投稿2435 There is a war题意:给你一个有向图,其中可以有一条边是无敌的,这条边可以是图中的边,也可以是自己任意加上去的图中没有的边,这条无敌的边不可以摧毁,让1和n无法连通的最大摧毁费用,就是1到n的最小割中的最大的那个,这个题卡了好几天,转载 2014-05-12 16:37:50 · 555 阅读 · 0 评论 -
hdu 3549 最大流
#include#include#include#includeusing namespace std;#define inf 2000000000#define N 30int map[N][N];int pre[N],flow[N],start,end;int bfs(){int now,i;memset(pre,-1,sizeof(pre));原创 2014-03-26 21:44:06 · 472 阅读 · 0 评论 -
hdu 1532&&poj1273 基础最大流
#include#include#include#includeusing namespace std;#define N 300#define inf 2000000000int map[N][N];int start,end,flow[N],pre[N];int bfs() { int i,now; memset(pre,-1,sizeof(p原创 2014-03-26 18:11:27 · 440 阅读 · 0 评论 -
isap算法模板poj 1273gap+弧优化 最大流
几个比较好的博客http://www.renfei.org/blog/isap.htmlhttp://kenby.iteye.com/blog/945454http://blog.csdn.net/mypsq/article/details/37959249原创 2014-07-21 16:58:56 · 742 阅读 · 0 评论 -
网络流
【HDU】 1532 Drainage Ditches(根蒂根基) [最大流]3549 Flow Problem(根蒂根基) [最大流]3572 Task Schedule [最大流]任务分派,断定满流2732 Leapin"" Lizards(难) [最大流]3338 Kakuro Extension [最大流][数和]神奇最大风行进列出转载 2014-05-26 18:39:04 · 532 阅读 · 0 评论 -
hdu 4612 双联通缩点+树形dp
#pragma comment(linker,"/STACK:102400000,102400000")//总是爆栈加上这个就么么哒了#include#include#includeusing namespace std;#define N 210000#define inf 99999999struct node { int u,v,w,next;}bian[N*20],bi原创 2014-07-22 11:16:20 · 546 阅读 · 0 评论 -
hdu 3657最大点权独立集变形(方格取数变形)
#include#include#includeusing namespace std;#define inf 0x3fffffff#define N 2600#define ii 60struct node {int u,v,w,next;}bian[N*4*2];int head[N],yong,s,t,dis[N],ma[ii][ii],id[ii][ii],f[ii][原创 2014-08-06 20:01:30 · 555 阅读 · 0 评论 -
hdu 3657 最大点权独立集变形(方格取数的变形最小割,对于最小割建图很好的题)
转载:http://blog.csdn.net/cold__v__moon/article/details/7924269/*这道题和方格取数2相似,是在方格取数2的基础上的变形。方格取数2解法: 由题意知对于每一个方格,有选与不选,显然是二分的最大独立集,先求最小点权覆盖(它的补集恰好 是最大点权独立集),对于任何一条可行流 s->u->v->t, 在求最大流或最小割的时候,在转载 2014-08-06 19:19:57 · 593 阅读 · 0 评论 -
hdu 3605 最大流sap+二进制思想(啊啊)
/*因为n非常大如果正常建边的话会超内存,每种状态的数目共2……10种状状体记录起来,源点与状态建边权值为状态数,状态与星球建边,星球与汇点建边*/#include#include#includeusing namespace std;#define inf 0x3fffffff#define N 3000struct node {int u,v,w,next;}bian[N*原创 2014-07-26 11:06:30 · 554 阅读 · 0 评论 -
hdu 4862KM&最小费用最大流
/**/#include#include#include#includeusing namespace std;#define inf 0x3fffffff#define N 500struct node{ int u,v,w,f,next;} bian[N*N*10];char ss[N][N];int ma[N][N];int manha(int i,int原创 2014-08-05 11:33:46 · 661 阅读 · 0 评论