随笔分类 -  图论练习题

poj 3436 ACM Computer Factory
摘要:题目链接:http://poj.org/problem?id=3436纠结了好几天的题目,看懂题意就看了好长时间,题目大意:有N台机器,每台机器有P部分,每部分有自己的输入、输出,因此每台机器有2*P+1种参数:第一个参数Q:该机器的容量;接下来P个参数S:该机器各部分的输入;接下来P个参数D:该机器各部分的输出。其中输入有三种情况:0,1,20:该部分必须不要;1:该部分必须要;2:该部分可有可无输出有2种情况:0,1 0:该部分不存在;1:该部分存在题目要求的是最大流、流量改变的边数和改变的边。思路:如果某个节点 u的输入部分没有1,则添加一条 s->u 路径,容量为Qu;如果某个节 阅读全文
posted @ 2012-12-07 14:48 pony1993 阅读(776) 评论(0) 推荐(0)
HDU 4280 Island Transport(网络流)
摘要:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿。 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <queue> 5 #define M 410000//边 6 #define N 110000//点 7 using namespace std; 8 #define INF 0x3f3f3f3f 9 struct edge 10 { 11 int from; 12 int to; 13 in 阅读全文
posted @ 2012-09-30 16:22 pony1993 阅读(169) 评论(0) 推荐(0)
HDU 4292 Food (成都赛区网络赛第五题,拆点网络流)
摘要:题意:跟POJ3281基本上一样的拆点网络流。建图:建一超级源点和一超级汇点,源点与食物相连,边权为其数量,汇点与饮料相连,边权也为其数量,把人分成两个点,之间的边权为1。每个人与之需要的食物和饮料相连,边权为1。代码(SAP模板): 1 #include <algorithm> 2 #include <iostream> 3 #include <cstring> 4 #include <cstdio> 5 #include <queue> 6 using namespace std; 7 const int maxn=101050; 阅读全文
posted @ 2012-09-26 12:00 pony1993 阅读(372) 评论(0) 推荐(0)
拆点网络流(POJ3281)
摘要:题意是给定一些牛,一些食物,一些饮料,每头牛都有其喜欢的几种食物和几种饮料,求最多能给多少头牛即找到食物又找到饮料~也就是有多少个 牛---食物---饮料 的匹配,而且满足一一匹配,每个牛,食物,或饮料都只能使用一次。网络流的限制是加于边上的,而对于点就没办法了,但是我们可以制造边,也就是把原来的一个点拆成两个,中间连一条边,加上限制,就OK了~~这种思想很好~~得好好学~然后就把图建成了下面那样,牛的使用次数也限制成了1。http://acm.sdut.edu.cn/bbs/read.php?tid=1614 阅读全文
posted @ 2012-09-25 19:12 pony1993 阅读(747) 评论(0) 推荐(0)
poj 1386 Play on Words (欧拉路判断)
摘要:把单词的第一个字母和最后一个字母作为点,由第一个字母向最后一个字母连一条有向边,问题转化为判断一个有向图是否存在欧拉道路有向图存在欧拉道路的条件: 在忽略边的方向后,图必须是连通的,同时最多只能有两个点的入度不等于出度,而且必须是其中一个点的出度刚好比入度大1(把它作为起点),另一个的入度比出度大1(把它作为终点).代码:1#include<iostream>2#include<cstring>3#include<cstdio>4usingnamespacestd;5constintN=27;6intin[N],out[N],use[N],set[N];7i 阅读全文
posted @ 2012-09-05 08:27 pony1993 阅读(224) 评论(0) 推荐(0)
POJ 3169 Layout(差分约束系统)
摘要:这道题是经典的差分约束系统,这道题可以看到明确的其源点1,所以求解的是从1出发终点为n的最短路。差分约束系统有两种方式可求解,最短路和最长路。当我们把不等式整理成d[a]+w<=d[b]时,我们求最长路。整理成d[a]+w>=d[b]时,我们求最短路。当求最短路时,我们通常要把各点距离初始化为正无穷,求最短路,把各点距离逐渐减小,直到符合所有不等式。代码:1#include<algorithm>2#include<iostream>3#include<cstring>4#include<cstdio>5#include<queu 阅读全文
posted @ 2012-09-01 21:26 pony1993 阅读(264) 评论(0) 推荐(0)


View My Stats