网络流
Stayaccept
这个作者很懒,什么都没留下…
展开
-
hdu1532
链接:点击打开链接题意:n条关系,m个节点,每条关系由三个字母c,s,e组成代表第c节点到s节点的流量为e,问流到节点n最大流量是多少代码:#include #include #include #include #define maxx 99999999using namespace std;int s[505][505],dis[505],q[2005];int n,m;原创 2015-08-22 20:21:08 · 866 阅读 · 0 评论 -
hdu4411(费用流)
链接:点击打开链接题意:给n+1个点,m条边的无向图。起点为0,k个人初始在起点,去遍历图使得每个点至少被一人走过并且遍历i点时i-1必须已经被遍历,最后k人要回到起点。输出k个人最小的路径和代码:#include #include #include #include #include #include #include using namespace st原创 2016-04-13 14:53:42 · 511 阅读 · 0 评论 -
hdu4975(二分图)
链接:点击打开链接题意:有n行m列矩阵,给出各行的和和各列的和,矩阵元素为0~9,判断是无解,唯一解还是多解代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct node{ int原创 2016-04-09 18:49:48 · 466 阅读 · 0 评论 -
hdu3526(最小割)
链接:点击打开链接题意:有两个公司,每个公司有n种物品和每种物品的费用,给出m条指令,表示如果某两个物品不在一个公司被购买则需要再加额外的费用,问买n种不同的物品需要的最小费用代码:#include #include #include #include #include #include #include using namespace std;const int INF=原创 2016-06-24 19:58:44 · 443 阅读 · 0 评论 -
hdu3572(网络流)
链接:点击打开链接题意:有M个机器(代表一天可以同时干M天的工作),有N个任务。每个任务必须在Si或者以后开始做,在Ei或者之前完成,完成每个任务必须处理Pi个时间单位,问最后是否可以完成这N个任务代码:#include #include #include #include #include #include #include using namespace std;con原创 2016-06-28 20:06:30 · 697 阅读 · 0 评论 -
hdu3472(混合图欧拉路径判断)
链接:点击打开链接题意:有n个单词,有的可以前后颠倒,看是否可以将n个单词首尾相连代码:#include #include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct node{ int u,v,cap; n原创 2016-06-14 20:38:13 · 857 阅读 · 0 评论 -
hdu5294(最短路+网络流)
链接:点击打开链接题意:n个点,m条边,有权无向图,求出删去最少条边数可以使得图没有最短路径,以及最短路上的边最多条最多删除多少使得1还能走到n代码:#include #include #include #include #include #include #include const int INF=0x3f3f3f3f;using namespace std;stru原创 2016-07-01 21:38:23 · 800 阅读 · 0 评论 -
hdu3599(最短路+网络流)
链接:点击打开链接题意:求有多少条不相交的最短路代码:#include #include #include #include #include #include #include const int INF=0x3f3f3f3f;using namespace std;struct edge{ int to,cost;};typedef pair P;int原创 2016-07-13 20:08:50 · 848 阅读 · 0 评论 -
hdu3488(费用流)
链接:点击打开链接题意:给出一个有向图,用一些环覆盖所有点,求所有环的边权和代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct node{ int to,cap,cost,rev;};int V;原创 2016-06-16 16:38:53 · 582 阅读 · 0 评论 -
hdu3491(拆点最小割)
链接:点击打开链接题意:有n个城市和m条道双向路,一伙小偷准备从S城出发到T城盗窃,为了将这伙小偷抓住,需要在这N个城市中的每一个城市安排一定数量的警察,S点和T点不能放警察,问总共需要的最少警察数代码:#include #include #include #include #include #include using namespace std;const int INF原创 2016-06-16 17:16:11 · 449 阅读 · 0 评论 -
hdu3605(网络流+状态压缩)
链接:点击打开链接题意:判断二分图匹配左部的点个数为n,右部的点的个数为m,判断左部是否都能匹配(1代码:#include #include #include #include #include #include #include const int INF=0x3f3f3f3f;using namespace std;struct node{ int u,v,c原创 2016-07-15 14:24:28 · 925 阅读 · 0 评论 -
poj1087(最大流)
链接:点击打开链接题意:在一个会议室里有n种插座,每种插座一个,每个插座只能插一种以及一个电器(或者适配器),有m个电器,每个电器有一个插头需要插在相应一种插座上,有k种适配器,每种适配器可以有无限多数量,每种适配器(a, b)可以把b类插座变为a类插座,问最后有多少个电器无法使用代码:#include #include #include #include #inclu原创 2016-04-14 19:20:09 · 431 阅读 · 0 评论 -
hdu4289
链接:点击打开链接题意:给出一个n个点,m条边组成的无向图,给出S和T。对于图中的每个点,去掉这个点都需要一定的花费。求最少多少花费才能使得S和T之间不连通代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;原创 2016-04-05 21:04:43 · 1055 阅读 · 0 评论 -
hdu4292
链接:点击打开链接题意:有F种食物和D种饮料,每种食物或饮料只能供有限次,且每个人只享用一种食物和一种饮料。现在有n头牛,每个人都有自己喜欢的食物种类和饮料的种类,问最多能使几个人同时享用到自己喜欢的食物和饮料代码:#include #include #include #include #include #include using namespace std;原创 2016-04-05 20:55:30 · 461 阅读 · 0 评论 -
poj1459
链接:点击打开链接题意:输入n,np,nc,m,分别代表节点个数,发电站个数,消耗站个数,电线个数,依次按要求输入问消耗站最多能获得的电量是多少代码:#include #include #include #include using namespace std;int s[505][505],dis[505],q[2005];int n,np,nc,m;int bfs(){原创 2015-08-22 20:30:19 · 748 阅读 · 0 评论 -
poj3692
链接:点击打开链接题意:男孩子相互认识,女孩子相互认识,男女之间有部分认识,问最多有多少人相互认识代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct node{ int u,v,c原创 2016-02-08 23:20:12 · 484 阅读 · 0 评论 -
poj1466
链接:点击打开链接题意:有n个学生,其中有一些学生之间有特定的关系,求一个最大的集合满足其中所有的学生都没有特定的关系代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct node{原创 2016-02-09 22:22:46 · 458 阅读 · 0 评论 -
poj2724
链接:点击打开链接题意:给出一系列的操作,其中'*'最多1个,既可表示为'0',也可表示为'1',该操作对应的那个二进制编号的物品被感染如101(编号101的被感染),1*1(编号101,111的被感染).问最少需要多少步,才可以把所有感染的物品全部变好,并且要求操作不能影响到任何没感染的物品3 3*01100011被感染的是:101,001,100,011所需要的原创 2016-02-09 22:34:37 · 621 阅读 · 0 评论 -
poj2226
链接:点击打开链接题意:给定一个矩阵,其中有一些地方有水,用一些长度任意,宽度为1的木板盖住这些有水的地方,问至少需要几块木板(木板只能覆盖有水的区域,不得包含其他区域)代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f原创 2016-02-13 21:32:02 · 877 阅读 · 0 评论 -
poj3068
链接:点击打开链接题意:求两条从0~n-1的路径,使两条路径没有公共点并且变得权值的和最小,没有则输出Not possible代码:#include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct node{ int to原创 2016-02-13 21:40:23 · 671 阅读 · 0 评论 -
poj2195
链接:点击打开链接题意:在一个矩阵中,有一些人和房子('m'代表人,'H'代表房子),每个房子中要安排一个人,每个人移动一步需要1美元,求为每个人安排房子后所需要的金钱的最小值代码:#include #include #include #include #include #include using namespace std;const int INF=0原创 2016-02-13 21:53:39 · 494 阅读 · 2 评论 -
线性规划与网络流24题 3.最小路径覆盖问题(nefu 481)
链接:点击打开链接题意:给定有向图G=(V,E)。设P 是G 的一个简单路(顶点不相交)的集合。如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖。P 中路径可以从V 的任何一个顶点开始,长度也是任意的,特别地,可以为0。G 的最小路径覆盖是G 的所含路径条数最少的路径覆盖。设计一个有效算法求一个有向无环图G 的最小路径覆盖。代码:#include #include原创 2016-02-16 17:45:38 · 736 阅读 · 0 评论 -
线性规划与网络流24题 1.飞行员配对方案问题(nefu 475)
链接:点击打开链接题意: 第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1 名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。如何选择配对飞行的飞行员才能使一次派出最多的飞机。对于给定的外籍飞行员与英国飞行员的配合情况,试设计一个算法原创 2016-02-02 23:08:57 · 801 阅读 · 3 评论 -
poj3422
链接:点击打开链接题意:给一个N*N的矩阵,从(1,1)到(n,n)走K次,每次加上走过的点的权值,然后这个点上面的权值变为0,求走过K次后和的最大值代码:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;s原创 2016-02-18 20:59:41 · 659 阅读 · 0 评论 -
hdu3523(费用流)
链接:点击打开链接题意:给出一个n*m的矩阵,要求最后价值最小,价值为找出一行1~m的序列,并用每列点的权值减去序列的权值绝对值的和代码:#include #include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;struct nod原创 2016-06-20 20:51:58 · 403 阅读 · 0 评论