图论
文章平均质量分 79
A_Happyer
这个作者很懒,什么都没留下…
展开
-
网络最大流之dinic模板
dinic:void dinic_bfs(int s){ int f,r,x,e; memset(lvl,-1,sizeof lvl); f=r=0; q[r++]=s;lvl[s]=0; while(f<r) { x=q[f++]; for(e=first[x];~e;e=nex[e]) if(c[e]&&lvl[v[e]]==-1) { lvl[v原创 2014-08-04 20:39:16 · 498 阅读 · 0 评论 -
zju 1912(bfs)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1912原创 2014-10-29 11:29:21 · 557 阅读 · 0 评论 -
uva live 6479
https://icpcarchive.ecs.baylor.edu/external/64/6479.pdf思路:原创 2014-09-01 08:47:43 · 524 阅读 · 0 评论 -
poj 1128 Frame Stacking(拓扑字典序)
Frame StackingTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 4112 Accepted: 1380DescriptionConsider the following 5 picture frames placed on an 9 x 8 a原创 2014-08-18 13:29:41 · 712 阅读 · 0 评论 -
拓扑排序模板
bool topsort(int n){ priority_queueq; memset(h,0,sizeof h); for(int i=1;i<=n;i++) if(!in[i])q.push(i); int k=n; while(!q.empty()) { int x=q.top();q.pop();原创 2014-08-15 14:23:05 · 604 阅读 · 0 评论 -
poj 1094(拓扑)
Sorting It All OutTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 27730 Accepted: 9602DescriptionAn ascending sorted sequence of distinct values is one原创 2014-08-15 16:59:33 · 534 阅读 · 0 评论 -
poj1535(最短路)
《BestCoder用户手册》下载Invitation CardsTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1982 Accepted Submission(s): 936Pro原创 2014-08-07 10:43:25 · 539 阅读 · 0 评论 -
最短路(dijkstra)
最短路Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 66 Accepted Submission(s) : 36Font: Times New Roman | Verdana | GeorgiaFont S原创 2014-04-16 14:58:15 · 647 阅读 · 0 评论 -
hdu 1690 Bus System 最短路(dijkstra+floyd)
Bus SystemTime Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 98 Accepted Submission(s) : 25Font: Times New Roman | Verdana | Georgia原创 2014-04-18 14:13:44 · 942 阅读 · 0 评论 -
Friend Chains(spfa)
Friend ChainsTime Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 22 Accepted Submission(s) : 11Problem DescriptionFor a group of peo转载 2014-04-25 14:27:50 · 836 阅读 · 0 评论 -
Cow Contest(floyd+传递闭包)
Cow ContestTime Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 52 Accepted Submission(s) : 27Problem DescriptionN (1 ≤ N ≤ 100)原创 2014-04-24 16:58:56 · 541 阅读 · 0 评论 -
Cow Hurdles(floyd)
Cow HurdlesTime Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 50 Accepted Submission(s) : 35Problem DescriptionFarmer John wan原创 2014-04-22 15:30:34 · 751 阅读 · 0 评论 -
Currency Exchange(spfa)
Currency ExchangeTime Limit : 2000/1000ms (Java/Other) Memory Limit : 60000/30000K (Java/Other)Total Submission(s) : 28 Accepted Submission(s) : 15Problem DescriptionSeveral curren原创 2014-04-25 14:25:22 · 525 阅读 · 0 评论 -
hdu 2066 一个人的旅行(dijkstra特殊)
一个人的旅行Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 86 Accepted Submission(s) : 34Font: Times New Roman | Verdana | GeorgiaFon原创 2014-04-16 18:28:27 · 650 阅读 · 0 评论 -
ZOJ2770 Burn the Linked Camp(差分约束)
Burn the Linked CampTime Limit: 2 Seconds Memory Limit: 65536 KBIt is well known that, in the period of The Three Empires, Liu Bei, the emperor of the Shu Empire, was defeated by Lu Xun,原创 2014-08-10 13:45:14 · 627 阅读 · 0 评论 -
Codeforces Round #277.5 (Div. 2)-D
题意:求该死的菱形数目。直接枚举两端的点,平均意义每个点连接20条边,用邻接表暴力计算中间节点数目,那么中间节点任选两个与两端可组成的菱形数目有r*(r-1)/2.代码:#include#include#include#include#include#include#define rep(i,a,b) for(int i=(a);i<(b);i++)#define rev(i原创 2014-11-18 12:34:27 · 1000 阅读 · 0 评论 -
最短路及次短路
#include#include#include#include#include#include#include#include#define rep(i,a,b) for(int i=(a);i<(b);i++)#define rev(i,a,b) for(int i=(a);i>=(b);i--)#define clr(a,x) memset(a,x,sizeof a)#原创 2014-11-30 14:20:17 · 587 阅读 · 0 评论 -
UVA 796 - Critical Links (求桥按序输出)
tanjar求图中的桥,然后排序输出。代码:#include#include#include#include#include#include#include#include#include#define rep(i,a,b) for(int i=(a);i<(b);i++)#define rev(i,a,b) for(int i=(a);i>=(b);i--)#def原创 2014-12-28 14:12:10 · 832 阅读 · 0 评论 -
poj 3694 Network(桥+lca)
给定一个无向无环图,保证连通,求每加入一条给定的边图中还剩下多少桥。双联通缩点重新建图后,再用lca在线算法解。lca算法参考斌神http://www.cnblogs.com/kuangbin/p/3184884.html这个版本的lca思路大致是先topsort,再用并查集分别从查询的两点向根节点回溯,直到两个点碰撞。效率我分析不出来,但看得出效率很高,每次查询都对后面查询做原创 2014-12-28 11:34:18 · 786 阅读 · 0 评论 -
HDU4685 Prince and Princess 完美匹配+强连通
题意:现在有n个王子,m个公主。现在要给他们配对,王子会和他喜欢的一个人结婚,而公主不能做选择。这题啃得好费劲,有个类似的题目poj1904,那个题目也是给王子与公主配对,但那个是王子公主各n个,且给定了一个完美匹配,然后求每个王子可以做出的选择且不影响最大匹配数目。那题是先建各条喜欢关系的边,然后在由被选择的公主连一条边到与之配对的王子,强连通之后如果一个王子和一个公主在一个强连通分量中,那原创 2014-12-18 23:26:15 · 988 阅读 · 0 评论 -
POJ3177 Redundant Paths (双联通缩点)
求对于给定一个连通图,加多少条边可以变成边双连通图。一个有桥的连通图要变成边双连通图的话,把双连通子图收缩为一个点,形成一颗树。需要加的边为(leaf+1)/2 (leaf为叶子结点个数)。对于此题,有重边但重边不加入计算。重边的话,要么在开始去掉,要么用桥来计算入度。因为桥不属于任何一个边双连通分支,其余的边和每个顶点都属于且只属于一个边双连通分支。对于重边而言,只有一对原创 2014-12-22 20:06:05 · 711 阅读 · 0 评论 -
图的割点、桥与双连通分支(知识点)
图的割点、桥与双连通分支转自https://www.byvoid.com/blog/biconnect[点连通度与边连通度]在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变成多个转载 2014-12-23 12:35:33 · 563 阅读 · 0 评论 -
hdu4612(双联通缩点+求树的直径)
求在给定图中添加一条边最多能是多少条桥消失。双联通缩点,成为一棵树,然后求树的直径。此图中两点之间可能会有重边,也按双联通,而不能按桥处理。其他的就没什么特别的代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include原创 2014-12-22 16:52:54 · 640 阅读 · 0 评论 -
ZOJ Problem Set - 3795(缩点拓补)
题意:每条信息说明了两个一定不在一个集合里的人,求最少情况集合可以划分为多少子集。一看就是拓补树的最高层数,但题意中隐含了可能有环(>=关系偏序),所以要先缩点,再拓补。当然,缩点之后图中没有环,直接dfs记忆化也是ok的。代码:#include#include#include#include#include#include#include#include#define原创 2014-12-02 12:49:00 · 688 阅读 · 0 评论 -
POJ-3207-Ikki's Story IV - Panda's Trick(2-sat模板)
2-sat模板提。代码:#include#include#include#include#include#include#include#include#define rep(i,a,b) for(int i=(a);i<(b);i++)#define rev(i,a,b) for(int i=(a);i>=(b);i--)#define clr(a,x) memset原创 2014-12-02 13:54:36 · 652 阅读 · 0 评论 -
HDU4738 Caocao's Bridges(桥)
http://acm.hdu.edu.cn/showproblem.php?pid=4738题意:给定一张无向图,求其中权值最小的一座桥,派最少的士兵去炸掉它!!思路:直接用tarjan计算出桥并且取其中权值最小者。此题坑点甚多,1、有可能桥本来就不联通,输出-1。2、桥最小者为0,输出1(至少排一个人去炸桥)。3、不要去重边,两个岛之间允许有多座桥,tarjan忽略返回边只忽略一次,原创 2014-12-16 20:44:16 · 1588 阅读 · 0 评论 -
POJ1144-Network(割顶模板题)
NetworkTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 9134 Accepted: 4292DescriptionA Telephone Line Company (TLC) is establishing a new telephone cabl原创 2014-07-22 09:45:10 · 548 阅读 · 0 评论 -
SPFA模板
SPFA:void spfa(int x) { queueq; memset(dis,0x3f,sizeof dis); memset(inq,0,sizeof inq); q.push(x); dis[x]=0; inq[x]=1; while(!q.empty()) {原创 2014-08-09 21:21:29 · 457 阅读 · 0 评论 -
POJ 3687 Labeling Balls(逆向拓扑)
正向每次取最小并不能保证为最优解,反向建边每次取最大可得正解。代码:#include#include#include#include#include#include#include#include#define rep(i,a,b) for(int i=(a);i<(b);i++)#define rev(i,a,b) for(int i=(a);i>=(b);i--)#原创 2014-11-30 15:21:13 · 636 阅读 · 0 评论 -
poj 2728 Desert King最小比例生成树
问题可以转化为:给定一个rate,z(rate)=∑xi×ci-rate*∑xi×disi,xi为一棵生成树使(∑xi×ci-rate*∑xi×disi)的值最小(下面会介绍求此生成树的方法),则rate=(∑xi×ci-z(rate))/( ∑xi×disi),令rateNex=(∑xi×ci)/( ∑xi×disi)。求解生成树xi使(∑xi×ci-rate*∑xi×disi)原创 2014-11-30 15:08:57 · 698 阅读 · 0 评论 -
POJ 1236 Network Of Schools (强连通分量模板题)
代码:#include#include#include#include#include#include#include#include#define rep(i,a,b) for(int i=(a);i<(b);i++)#define rev(i,a,b) for(int i=(a);i>=(b);i--)#define clr(a,x) memset(a,x,sizeof原创 2014-11-30 15:11:06 · 739 阅读 · 0 评论 -
zoj 3088 Easter Holidays (spfa)
I - Easter HolidaysTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionScandinavians often make vacation during the Easter holidays in原创 2014-08-12 09:46:58 · 538 阅读 · 0 评论 -
POJ 1364 King ( 差分约束系统 )
KingTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 9940 Accepted: 3698DescriptionOnce, in one kingdom, there was a queen and that queen was expecting a原创 2014-08-11 09:40:17 · 499 阅读 · 0 评论 -
hdu Reward(拓扑排序)
N - RewardTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionDandelion's uncle is a boss of a factory. As the spring festival is comi原创 2014-07-08 19:54:42 · 503 阅读 · 0 评论 -
POJ1300 Door Man (欧拉图)
I - Door ManTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionYou are a butler in a large mansion. This mansion has so many rooms原创 2014-07-08 20:10:05 · 543 阅读 · 0 评论 -
ZOJ3080 ChiBi(SPFA)
K - ChiBiTime Limit:5000MS Memory Limit:32768KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionwatashi's mm is so pretty as well as smart. Recently, she has watched the原创 2014-07-06 15:16:26 · 536 阅读 · 0 评论 -
POJ2253 Frogger (FLOYD)
M - FroggerTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionFreddy Frog is sitting on a stone in the middle of a lake. Suddenly h原创 2014-07-06 20:15:53 · 513 阅读 · 0 评论 -
POJ 3259 Wormholes (Bellman)
A - WormholesTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionWhile exploring his many farms, Farmer John has discovered a numb原创 2014-06-14 21:02:31 · 567 阅读 · 0 评论 -
uva 10537 - The Toll! Revisited (逆向思维最短路)
C - The Toll! RevisitedTime Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionProblem GToll! RevisitedInput: Standard InputOutput: Standa原创 2014-07-20 08:41:44 · 606 阅读 · 0 评论 -
poj 2230 (简单欧拉回路)
WatchcowTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 5909 Accepted: 2540 Special JudgeDescriptionBessie's been appointed the new watch-cow for th原创 2014-07-20 23:05:00 · 489 阅读 · 0 评论