摘要: 题意: 给一个有向图,问该图是不是强连通图,且图中每条边仅属于一个环。分析: 如果一个节点已经在栈中,当该点被访问到即又出现了一条连向该点的横向边,且该点不是根节点,这条边 就是一条属于两个环的边。code:View Code View Code #include<stdio.h>#include<string.h>#define clr(x)memset(x,0,sizeof(x))const int maxn=20002;struct node{ int to; int next;}e[50005];int tot;int head[maxn];void add(i 阅读全文
posted @ 2012-07-15 22:04 'wind 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意: 在有 n 个节点的有向图中 有 m 条边,问最少需要增加多少条边可以将原图变成一个强连通图。分析: 因为图中每个环都满足强连通的性质,可以用强连通分量的算法将原图中的环进行染色缩点。 缩点的最大好处在于把一个杂乱无章的有向图变成一个有向无环图,而在有向无环图中,有两种点 比较特殊: 一种是入度为 0 的点,另一种是 出度为 0 的点。 题目问要增加多少条边使得原图变成强连通图,其实只要知道在树根个叶子之间加多少条边,假如r 为根的个数, g 为叶子的个数,答案即为max(r,g)。 特殊情况是当缩点之后只有一个点时,答案为 0。code:View Code #include<st 阅读全文
posted @ 2012-07-15 21:17 'wind 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 计算几何题目推荐计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码一片混乱,那么会严重影响做题正确率。4.注意精度控制。5.能用整数的地方尽量用整数,要想到扩大数据的方法(扩大一倍,或扩大sqrt2)。因为整数不用考虑浮点误差,而且运算比浮点快。一。点,线,面,形基本关系,点积叉积的理解POJ 2318 TOYS(推荐)http://acm.pku.edu.cn/JudgeOnline/problem?id=2318POJ 2398 Toy 阅读全文
posted @ 2012-07-15 18:02 'wind 阅读(898) 评论(0) 推荐(0) 编辑
摘要: 1062*昂贵的聘礼枚举等级限制+dijkstra1087*APlugforUNIX2分匹配1094SortingItAllOutfloyd或拓扑1112*TeamThemUp!2分图染色+DP1125StockbrokerGrapevineFLOYD1135DominoEffect最短路1149*PIGS网络流1161*Wallsfloyd1201Intervals差分约束1236*NetworkofSchools强联通1251JungleRoadsMST1273DrainageDitches最大流 1274ThePerfectStall2分匹配1275*CashierEmployment差 阅读全文
posted @ 2012-07-15 18:00 'wind 阅读(832) 评论(0) 推荐(0) 编辑