![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最大流
qq172108805
这个作者很懒,什么都没留下…
展开
-
poj 1273 Drainage Ditches--网络流
#include#include#includeusing namespace std;int map[201][210];int n,m;int f[210];int pre[210];int bfs()//广搜找增广路径{ queueq; int top,i; memset(pre,-1,sizeof(pre));//置前驱 f[1]=999999999;//流到这儿原创 2012-04-05 20:31:21 · 716 阅读 · 1 评论 -
POJ 图论
POJ 2449 Remmarguts' Date(中等) AChttp://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144转载 2012-07-16 10:43:56 · 5015 阅读 · 0 评论 -
hdu 1569 方格取数(2)--最大点权独立集-->最大流
/* 二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。 二分图最小点权覆盖 从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。建模: 原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t,将s和x集合中的点原创 2012-11-05 13:51:09 · 681 阅读 · 0 评论 -
hdu 3998 Sequence --最长上升子序列+最大流
/*题意:给出一个序列,问该序列的最长上升子序列的长度是多少,以及相同长度的,组成元素完全不同的最长上升子序列的个数。思路:第一问用O(n^2)的dp求解,第二问就是最多不相交路径了。设最长上升子序列的长度为k,第一问解决后,dp数组中保存的是以这个数结尾的最长上升子序列的长度,于是把每个数拆成两个点i和i’,中间连容量为1的边,表示每个数只能选一次,dp值为1的与源点连边,dp值为k的原创 2012-11-01 21:14:45 · 743 阅读 · 0 评论 -
poj 3801 hdu 3157 Crazy Circuits--有源汇 有上下界 最小流
/*hdu 3157poj 3801题意:一个电路板,上面有N个接线柱(标号1~N) 还有两个电源接线柱 + -然后是 给出M个部件正负极的接线柱和最小电流求一个可以让所有部件正常工作的总电流 没有则输出impossible其实就是一个 有源汇 有上下界 最小流 问题处理有源汇有上下界最大流问题是:1.构造附加网络2.对ss、tt求最大流(ss、tt满流则有解)3原创 2012-07-30 17:07:33 · 2336 阅读 · 0 评论 -
zoj 3229 Shoot the Bullet--有源汇 有上下界 最大流 递归和非递归sap
/* 题目大意:某人n天给m个美女拍照 每个美女都有一个最低要求 每天有一个照片数量上限 先给出n m 每个美女的下限 n个{ 第i天拍照的美女数 这天的照片数量上限 依次是 美女编号 这天的下限 上限 } 有源汇 有上下界 最大流 先对 附加 源汇ss tt求依次最大流 若有可行流 再对s t求最大流 这是第二次写这个题,第一次写的挺不顺利 (可能是构图原创 2012-07-28 22:08:09 · 1203 阅读 · 0 评论 -
sgu 242 Student's Morning--最大流 或 多重匹配
/*n同学分别来自不同的学校,他们想去学校玩,但是不像一个人去,所以去某个学校的人数应>=2问是否有k个学校满足要求建边:[s,学校] 权为2[学校,同学] 权为1[同学,t] 权为1据说这题可以用匹配做,以后看看*/#include#include#define inf 0x7ffffffstruct edge{ int u,v,f,next;}e[10001原创 2012-08-01 17:02:59 · 1272 阅读 · 0 评论 -
poj 2396 Budget--有源汇+有上下界+可行流
/*有源汇 有上下界 求可行流有源汇可以转化为无源汇:添加一条边t~s (0,0x7fffffff) 就成了无源汇基本流程是:构造附加网络(添加新源 新汇 分离必要弧)求附加网络的最大流若新源 新汇 相邻的边都是满流,则存在可行流题意:有个表格,给出每行的和以及每列的和 还有某些元素的要求求一个符合条件的表格一个比较详细的讲解 http://blog.csdn.n原创 2012-07-25 08:53:37 · 1045 阅读 · 0 评论 -
zoj 2314 Reactor Cooling--无源汇有上下界最大流--递归sap
/* 我也没有读题 刚学就直接搜的这类题 找了个简单的练习 大致上好像是这么个意思 给你一个图 边有上下界 求无源汇最大流 没有输出NO 有则输出 YES 并输出 各边的流量*/#include#includeusing namespace std;const int N=205;struct node{ int u,v;}e[N*N];int l原创 2012-07-12 20:21:02 · 947 阅读 · 0 评论 -
网络流题目集锦
最大流 POJ 1273 Drainage Ditches POJ 1274 The Perfect Stall (二分图匹配) POJ 1698 Alice's Chance POJ 1459 Power Network POJ 2112 Optimal Milking (二分) POJ 2455 Secret Milking Machine (二分) POJ 318转载 2012-07-16 10:40:55 · 652 阅读 · 0 评论 -
zzuli1619--发工资--用访问数组判断是否有环
#includeint m[10010][1000],g[10010],v[10010];int n,l;int find(int i){ int max=887,j,ret; if(v[i])//进入那个节点就标记,出去的时候消掉,实际上这里存的就是深搜的栈 return 0;//栈中出现重复访问,及出现环,返回0表示出错 v[i]=1;//未形成环,标志它 for(j=1;原创 2012-07-16 20:33:09 · 691 阅读 · 0 评论 -
poj 1273 Drainage Ditches--最大流--sap
/*sap的非递归实现 0ms 还不错让人纠结的啊 我写的是吧d[]初始化为0 WA看别人的模版初始化为m,过了又看到别人用数组标记,过了(貌似也不对,居然过了)我写了一个数组标记访问,没过*/#include#include#includeusing namespace std;const int N=300;const int inf=0x7fffffff;原创 2012-07-10 16:34:46 · 476 阅读 · 0 评论 -
poj 1273 Drainage Ditches--最大流--Dinic
/*之前用EK写过这题,现在学dinic,又写了这个题*/#include#include#includeusing namespace std;int map[205][205],lvl[205];int n,m,ret;int bfs()//分层{ int u,i; memset(lvl,0,sizeof(lvl)); queueq; q.push(1); lvl原创 2012-07-05 20:47:06 · 493 阅读 · 0 评论 -
sgu 176 Flow construction--有源汇 有上下界 最小流
/*SGU 176 Flow construction题意:有些节点(编号1~n,1为源,n为汇)和管道,用来运输某种物质(substance)某些管道必须满流,有些不必,找到一个最小流,满足要求输入:结束数目 管道数目管道{ 管道前节点,后节点,最大流量,是否需要满流(1需要0不需要)}就是求一个最小流http://blog.csdn.net/qq172108805/art原创 2012-08-01 15:34:57 · 1946 阅读 · 0 评论