图论
文章平均质量分 59
xu960218
这个作者很懒,什么都没留下…
展开
-
[割边]Freda的迷宫
描述 DescriptionFreda是一个迷宫爱好者,她利用业余时间建造了许多迷宫。每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相连,走廊都是双向通过。黄昏时候,Freda喜欢在迷宫当中漫步。每天,Resodo都会为Freda设计一个挑战方案。Resodo会指定起点和终点,请Freda来找到一条从起点到终点的简单路径。一条简单路径定原创 2013-09-17 21:00:20 · 877 阅读 · 0 评论 -
[强连通]Smartoj P2395 集合
假设有N个集合,现在有M个包含关系,形如A⊆B,意思是集合A包含于集合B。显然,我们知道,A⊆B且B⊆A,就可以推出A=B,即A、B两个集合是相等的。;类似的,如果A⊆B,B⊆C,C⊆A,那么有A=B=C成立。至少要验证多少对集合的包含关系(同样,形如A⊆B,为一个包含关系)。solution:求至少添加多少条边后能使原图变为强连通图。Trajan缩点后 Max(入度为原创 2013-09-21 16:19:42 · 1111 阅读 · 1 评论 -
[矩乘]K步最短路
把矩乘换成floyd ..#include#includeusing namespace std;const int INF=9999999;int n,k,S,T;string m;struct mat{ int m[101][101];}unit,a;mat mul(mat a,mat b){ mat t; for(int i=0;i<n;++i)原创 2013-09-21 12:03:08 · 971 阅读 · 0 评论 -
[双连通分量][DP]免费航班
题目大意: 小Z在MOI比赛中获得了大奖,奖品是一张特殊的机票。使用这张机票,可以在任意一个国家内的任意城市之间的免费飞行,只有跨国飞行时才会有额外的费用。小Z获得了一张地图,地图上有城市之间的飞机航班和费用。已知从每个城市出发能到达所有城市,两个城市之间可能有不止一个航班。一个国家内的每两个城市之间一定有不止一条飞行路线,而两个国家的城市之间只有一条飞行路线。小Z想知道,从每个原创 2013-10-22 17:27:05 · 1487 阅读 · 0 评论 -
2-SAT
1.构图2.求图的极大强连通子图3.把每个子图收缩成单个节点,根据原图关系构造一个有向无环图4.判断是否有解,无解则输出(退出)5.对新图进行拓扑排序6.自底向上进行选择、删除HDU 3622题意:给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的原创 2013-11-03 21:51:05 · 820 阅读 · 0 评论 -
[模板]图论
各种Tarjan:强连通分量+缩点:void Dfs(int u){ Low[u]=Pre[u]=++Dfs_t; S.push(u); for(Node *i=G[u].nxt;i;i=i->nxt) { int v=i->to; if(!Pre[v]) { Dfs(v); Low[u]=min(Low[u],Low[v]); } else原创 2013-10-31 07:52:22 · 694 阅读 · 0 评论