
图论
文章平均质量分 72
wwwwwwxu
不敢说强记,只敢说博闻。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 1459 Power Network (dinic进阶)
题目大意:三种类型的点,第一种类型使流量增大,第二种类型使流量减小,第三种类型不改变。问最大流量。解题思路:建立一个源点,一个汇点。源点和第一种类型的点连边,汇点和第二种类型的点连边,跑最大流。#include#include#include#include#define INF 0x3ffusing namespace std;const int N=原创 2015-08-23 21:58:01 · 330 阅读 · 0 评论 -
BZOJ 1059 矩阵游戏 (二分图最大匹配)
题目大意:小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的任意行列,交换这两列(即交换对应格子的颜色)游戏的目标,即通过若干次操作,使得方阵的主对角线(左上角到右下角的连线原创 2015-09-03 22:29:05 · 455 阅读 · 0 评论 -
弱校联萌十一大决战之强力热身
必须吐槽一下……这场比赛真是原题大战……我一开始只看出来几道题是SCU上的……后来有人我告诉我是2015四川赛区的一整套题……出题人真厉害……原创 2015-10-01 23:28:04 · 1277 阅读 · 2 评论 -
POJ 2438 Children's Dining (求哈密顿回路模板)
题目大意:n个孩子要求围成一圈,有m对敌对关系,有敌对关系的孩子不能相邻,输出一种方案。解题思路:有神犇说是特殊图所以可以用哈密顿回路做,不懂,姑且当作写个模板。#include#include#include#include#include#include#include#include#include#include#define LL lo原创 2015-10-22 16:24:39 · 822 阅读 · 0 评论 -
POJ 2230 Watchcow (欧拉回路模板)
题目大意:求有向图欧拉路径的点序列。解题思路:欧拉回路模板。#include#include#include#include#include#include#include#include#include#include#define LL long long#define db double#define EPS 1e-15#define原创 2015-10-22 16:20:57 · 516 阅读 · 0 评论 -
一些图论、网络流入门题总结、汇总。
根据kuangbin大神博客里那个图论题列表,图论题强化一波。原创 2015-10-08 21:16:55 · 980 阅读 · 0 评论 -
2015-2016 下半学期 第二周 训练
1、hdu4081题意:有n个城市,秦始皇要修用n-1条路把它们连起来,要求从任一点出发,都可以到达其它的任意点。秦始皇希望这所有n-1条路长度之和最短。然后徐福突然有冒出来,说是他有魔法,可以不用人力、财力就变出其中任意一条路出来。秦始皇希望徐福能把要修的n-1条路中最长的那条变出来,但是徐福希望能把要求的人力数量最多的那条变出来。对于每条路所需要的人力,是指这条路连接的两个城市的人数之和。原创 2016-03-22 09:24:47 · 416 阅读 · 0 评论 -
二分图多重匹配问题
在二分图最大匹配中,每个点(不管是X方点还是Y方点)最多只能和一条匹配边相关联,然而,我们经常遇到这种问题,即二分图匹配中一个点可以和多条匹配边相关联,但有上限,或者说,Li表示点i最多可以和多少条匹配边相关联。二分图多重匹配分为二分图多重最大匹配与二分图多重最优匹配两种,分别可以用最大流与最大费用最大流解决。(1)二分图多重最大匹配:在原图上建立源点S和汇点T,S向每个X方点转载 2016-03-14 00:33:18 · 688 阅读 · 0 评论 -
2015-2016 下半学期 第四周 训练
1、hdu4292题解:最大流 因为我们发现食物和饮料间没有直接的联系,所以要用人来当中间点,但是如果直接连到人上,会让食物和饮料流出奇怪的情况,所以把人拆点。 人和人之间连边权为1,食物和人 饮料和人都连边为1。 食物和S连食物个数,饮料和T连饮料个数。超级源点->食物->人->人'->饮料->超级汇点。代码:#include#include#include原创 2016-04-07 10:54:23 · 545 阅读 · 0 评论 -
poj2983 Is the Information Reliable?
题意:给出n个点的m条约束信息。每条信息表述为(P a b c)表示a在b北方距离c的位置,或者(V a b) 表示a在b北方1单位距离或者更远的位置。问是否可能存在符合以上m个要求的点。解题思路:差分约束一般给我的印象都是一个范围性的式子才能写出不等式,但是这道题,固定的距离可以用两个只有不等式号相反的式子表示,这样子可以将值限定在“=”的那个值上。把dis[i]设为其到始点原创 2016-04-29 00:01:55 · 396 阅读 · 0 评论 -
2015-2016 下半学期 第十周 训练
1、hdu4612题意:无向图连一条边后桥边数量最少是多少。思路:先将无向图缩点形成一棵树,再两次dfs取直径,在直径端点连边,这样可以使桥边减少的最多。代码:#include #include #include #include #include #include #include using namespace std;const int maxn=原创 2016-05-14 09:51:14 · 475 阅读 · 0 评论 -
2015-2016 下半学期 第八周 训练
1、poj1144题意:求割点数目。思路:dfs代码:#include #include #include #include #include #include using namespace std; int times,root; int visit[105],flag[105]; int low[105],dfn[105]原创 2016-05-07 17:19:18 · 596 阅读 · 0 评论 -
2015-2016 下半学期 第六周 训练
按照做题顺序。1、hdu2444题意:首先判断是否是二分图,如果不是的话输出No,如果是的话输出最大匹配。题解:按题意那么写。代码:#include #include #include #include #include #include #include #include #include #include #include #include原创 2016-04-22 00:30:32 · 375 阅读 · 0 评论 -
HDU 1875 畅通工程再续
题目大意:中文题。解题思路:MST,判个距离,kruskal硬上就行。#include#include#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define EPS 1e-15#define原创 2015-08-20 23:12:46 · 297 阅读 · 0 评论 -
Codeforces #304
A:模拟。/*───────────────────────────────────────▄▄▄───────────▄▄▄▄▄▄▄────────────────█▀░▀█──────▄▀▀▀░░░░░░░▀▀▄▄────────────█░░░░█───▄▀░░░░░░░░░░░░░░░▀▄───────▄▄▄█▄░░░▀▄▄▀░░██░░░░░░░░░░░░░░▀█───原创 2015-09-01 01:27:31 · 333 阅读 · 0 评论 -
VIJOS 1212 Way Selection
题目大意:非常显然的二分图最大匹配。解题思路:上匈牙利。关于匈牙利算法。就是关于寻找增光路的算法。伪代码如下:bool 寻找从k出发的对应项出的可增广路{ while (从邻接表中列举k能关联到顶点j) { if (j不在增广路上) { 把j加入增广路;原创 2015-09-05 21:51:41 · 493 阅读 · 0 评论 -
POJ 1273 Drainage Ditches(dinic模板)
题目大意:网络流的模板题。解题思路:模板。#include#include#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define EPS 1e-15#define max(a,b) ((a>原创 2015-08-23 21:54:33 · 306 阅读 · 0 评论 -
BZOJ 3931 网络吞吐量 (最短路+最大流)
题目大意:中文题,题目即题意。解题思路:先求最短路,只有在最短路上的边才是在网络里的。然后把这些边上的点拆边。求最大流。学习到了优先队列。(不太会)#include#include#include#include#include#include#include#include#define LL long long#defi原创 2015-08-25 01:25:27 · 367 阅读 · 0 评论 -
BZOJ 2929 洞穴攀行
题目大意:中文题。解题思路:裸网络流。感觉dinic用的顺手了#include#include#include#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define EPS 1e原创 2015-08-25 21:42:03 · 495 阅读 · 0 评论 -
ZOJ 2760 How Many Shortest Path (floyd+dinic)
题目大意:题目即题解。解题思路:floyd求出最短路,对于能在最短路上的边 u->v 建流量为1的边。s-t的最大流即为答案。#include#include#include#include#include#include#include#include#define LL long long#define db doubl原创 2015-08-25 21:44:46 · 330 阅读 · 0 评论 -
BZOJ 2007 海拔 (对偶图转最短路)
题目大意:中文题。解题思路:首先肉眼可得,海拔取值为(0,1)。然后我们继续肉眼观察,发现这个图一定是一坨0和一坨1。0的那一坨在起点那一端,1的一坨在终点那一端。然后可以发现0和1之间有一条分界线,到这一步,我们就能发现,这条线就是最小割,就是答案。平面图的最小割等于最大流。但是我们直接做最大流会TLE掉。然后我们可以对于这张图G做一个对偶图G’,你可原创 2015-08-26 23:56:50 · 638 阅读 · 0 评论 -
BZOJ 1922 大陆争霸 (带限制的最短路)
题目大意:中文题。解题思路:带限制的最短路。设d1[x],d2[x]为城市x的到达时间,可进入时间max(d1[x],d2[x])为真实的进入时间d[x]记录城市x被多少个城市保护每次堆中取出一个真实进入时间最小的城市更新它所通往的城市的d1,保护城市的d2保护城市的d--若d=0,则可入堆复杂度(n+m)logn#include#原创 2015-08-26 23:43:39 · 821 阅读 · 0 评论 -
VIJOS 1053 Easy sssp 负权最短路
题目大意:中文题。解题思路:带负权的最短路,记录一下每个点入队次数,入队两次即说明存在负环。#include#include#include#include#include#include#include#include#define LL long long#define db double#define maxnn 10000000#def原创 2015-08-28 00:54:24 · 660 阅读 · 0 评论 -
TYVJ 1330 乳草的入侵
题目大意:中文题。解题思路:BFS,但是这个读入太恶心了……#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define max(a,b) ((a>b)?(a):(b))#define min(a,b原创 2015-08-17 00:46:21 · 838 阅读 · 0 评论 -
CodeForces 545E Paths and Trees
题目大意:给一张无向联通图,让你用最短路去生成一颗最小生成树,并输出用到的边的编号。解题思路:在spfa的时候就可以更新记录用到哪些边,在拥有多种最短路的时候,选择边权小的进行更新记录。#include #include #include #include #include #include #include #include #includ原创 2015-09-01 22:46:06 · 651 阅读 · 0 评论 -
HDU 1863 畅通工程(kruskal)
题目大意:中文题,是一个求最小生成树的模板题,需要判是否连通。解题思路:都说了是模板题,写个kruskal模板就能过,所有的点都操作过即说明这个图一定连通。#include#include#include#include#include#include#define LL long long#define db double#define maxn原创 2015-08-19 19:56:57 · 292 阅读 · 0 评论 -
HDU 2544 最短路(dijkstra)
题目大意:中文题。解题思路:这个数据量似乎floyd都能过……我写了个用set优化的dijkstra。#include#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define EPS 1e-15原创 2015-08-19 19:53:05 · 298 阅读 · 0 评论 -
HDU 1879 继续畅通工程
题目大意:中文题。解题思路:MST,kruskal直接上就行了。#include#include#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define EPS 1e-15#define ma原创 2015-08-20 23:10:58 · 395 阅读 · 0 评论 -
关于二分图问题的总结
1、什么是二分图可以把顶点分成X,Y两个集合,且每个集合里没有相邻的边(相连)。2、二分图有哪些问题2.1 二分图的判定 关于二分图的判定,一般使用染色判断法,即把边两端的定点颜色染成不同颜色观察是否冲突。 模板: bool judge(int u){ for (int i=head[u];~i;i=e[i].nxt){原创 2016-04-24 08:17:59 · 585 阅读 · 0 评论