上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 69 下一页
摘要: 边双连通分量+并查集这题算是水过去的吧,4500ms。应该有更好的写法#include#include#include#include#includeusing namespace std;const int maxn = 100000 + 10; //结点数量const int Maxn = 2 ... 阅读全文
posted @ 2015-09-01 11:18 Fighting_Heart 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 强连通分量#include#include#include#include#includeusing namespace std;const int maxn=5000;vectorG[maxn];vectorFG[maxn];vectorEdge[maxn];int flag[maxn],dfn[... 阅读全文
posted @ 2015-09-01 11:16 Fighting_Heart 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 求一下权值最小的桥。第一坑:如果图不连通,不用派人去炸桥,直接输出0第二坑:可能会有重边第三坑:如果桥上没有士兵守着,那至少要派一个人去炸桥。#include#include#include#include#includeusing namespace std;const int maxn = 10... 阅读全文
posted @ 2015-08-29 12:16 Fighting_Heart 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 强连通分量+缩点+公式推导缩点之后,记录一下每个缩点的真实点有几个,计算一个每个点的入度与出度,然后找出入度或出度为0,并且真实点个数最少的那个缩点,其余的点都可以随便连边了,这个缩点只能单向的向外界连边。#include#include#include#include#includeusing n... 阅读全文
posted @ 2015-08-29 11:26 Fighting_Heart 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 边双连通分量+缩点#include#include#include#include#includeusing namespace std;const int maxn = 10000 + 10; const int Maxn = 2 * 100000 + 10; int low[maxn];int ... 阅读全文
posted @ 2015-08-28 21:36 Fighting_Heart 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 输出桥。#include#include#include#include#includeusing namespace std;const int maxn = 10000 + 10;const int Maxn = 2 * 100000 + 10; int low[maxn];int dfn[ma... 阅读全文
posted @ 2015-08-28 17:01 Fighting_Heart 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 之前对Kosaraju_Algorithm理解有误,现在彻底明白了。Kosaraju_Algorithm:• step1:对原图G进行深度优先遍历,记录每个节点的离开时间。形成了一个森林(很多树)。• step2:选择具有最晚离开时间的顶点,对反图GT进行遍历,删除能够遍历到的顶点,这些顶点构成... 阅读全文
posted @ 2015-08-28 12:58 Fighting_Heart 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 给出一个无向图,你可以加一条边,使得加上边之后的图割边数量最少。方法:每个边双连通分量缩点,形成一个树,树上的每条边都是割边,割边数量为S1;接下来只要算出树上最长路径(树的直径)就可以了,最长路径两段连线,路径上的割边都不可能再成为割边了,记最长路径长度为S2;Ans=S1-S2;第一步可以用Ta... 阅读全文
posted @ 2015-08-27 21:59 Fighting_Heart 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 最大流+拆点#include#include#include#include#include#include#includeusing namespace std;const int maxn = 2000 + 10;const int INF = 0x7FFFFFFF;struct Edge{ ... 阅读全文
posted @ 2015-08-25 21:27 Fighting_Heart 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 网络最大流TLE了两天的题目。80次Submit才AC,发现是刘汝佳白书的Dinic代码还可以优化。。。。。瞬间无语。。。。。#include#include#include#include#include#include#includeusing namespace std;const int m... 阅读全文
posted @ 2015-08-25 13:53 Fighting_Heart 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 最短路+最大流#include#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;const int MAXN=100000+10;const int INF=0x7FF... 阅读全文
posted @ 2015-08-23 16:03 Fighting_Heart 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 二分图的最大匹配+并查集每次匹配完之后,删除当前匹配到的边。#include#include#include#includeusing namespace std;const int MAXN=505;int nx,ny;int g[MAXN][MAXN];int cx[MAXN],cy[MAXN]... 阅读全文
posted @ 2015-08-23 07:58 Fighting_Heart 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 网络最大流+拆点。输出有坑!!!#include#include#include#include#include#include#includeusing namespace std;const int maxn=2000+10;const int INF=0x7FFFFFFF;struct Edg... 阅读全文
posted @ 2015-08-22 16:21 Fighting_Heart 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 最小割一个点拆成两个AddEdge(i,i+N,x);原图中的每条边这样连AddEdge(u+N,v,INF);AddEdge(v+N,u,INF);S是源点,t+N是汇点。最大流就是答案。#include#include#include#include#include#include#includ... 阅读全文
posted @ 2015-08-22 14:15 Fighting_Heart 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最小割+输出方案#include#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;const int INF=0x7FFFFFFF;struct Edge{ in... 阅读全文
posted @ 2015-08-21 16:21 Fighting_Heart 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 状态压缩+最大流因为最多只有10个星球,所以人最多只有1#include#include#include#include#include#includeusing namespace std;const int maxn = 1500 + 10;const int INF = 0x7FFFFFFF;... 阅读全文
posted @ 2015-08-21 10:47 Fighting_Heart 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 最大流+拆点#include#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;const int INF=0x7FFFFFFF;struct Edge{ int ... 阅读全文
posted @ 2015-08-19 10:26 Fighting_Heart 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 每个物品分开做最小费用最大流。#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;const int INF=0x7FFFFFFF;struct Edge{ int... 阅读全文
posted @ 2015-08-19 08:34 Fighting_Heart 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 最小费用最大流#include#include#include#include#include#includeusing namespace std;//设置节点数量const int maxn=1000+10;const int INF=0x7FFFFFFF;struct Edge{ int... 阅读全文
posted @ 2015-08-18 09:40 Fighting_Heart 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 网络最大流水题#include#include#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;const int INF=0x7FFFFFFF;struct Edge... 阅读全文
posted @ 2015-08-17 22:51 Fighting_Heart 阅读(143) 评论(0) 推荐(0) 编辑
上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 69 下一页