
图论
文章平均质量分 70
Airarts
是非审之于己,毁誉听之于人。
展开
-
POJ_1062_最短路
http://poj.org/problem?id=1062哎,弱菜伤感呐,N久前做最短路的题,看了这个题,被等级差搞的没思路,昨天突发奇想,脑残的认为1号节点是等级最高的节点,然后把等级差和1号节点超过m的结点忽略,用Dij求一遍最短路,即是解。 写完,提交,wa了,然后看了discuss,发现这个自己的程序建立在一个错误的前提上(1号节点是等级最高的节点),其实可能其他的结点等级更原创 2012-01-31 13:22:23 · 423 阅读 · 0 评论 -
[第2短路变形]LightOJ 1099 - Not the Best
1099 - Not the BestPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBRobin has moved to a small village and sometimes enjoys returni原创 2012-05-25 01:37:17 · 1356 阅读 · 0 评论 -
[最短路+水题]LightOJ 1019 - Brush (V)
求最短路。。。 要多水就有多水,刷水的感觉很差,很少用SPFA,所以算是练习下SPFA把。。 传送门:http://lightoj.com/volume_showproblem.php?problem=1019 #include#include#include#include#include#includeusing namespace std;const int M原创 2012-05-24 01:26:38 · 1027 阅读 · 0 评论 -
[第K短路]POJ_2449_Remmarguts' Date
这里的第K短路的定义是:1.如果起点终点相同,那么0并不是最短路,而是要出去一圈回来之后才是最短路,那么第K短路也是一样。2.每个顶点和每条边都可以使用多次。(可以存在环和来回走) 然后求K短路使用A*算法,其估价函数f(n) = g(n)+h(n),h(n)是终点到结点n的最短路径,g(n)是起点到结点n的实际代价, 这样选择显然能满足A*估价函数的要求,g(n)>=g'(n),原创 2012-05-25 01:32:00 · 1155 阅读 · 0 评论 -
[强连通分量]LightOJ 1210 - Efficient Traffic System
传送门:http://lightoj.com/volume_showproblem.php?problem=12101210 - Efficient Traffic SystemPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32原创 2012-05-24 00:55:36 · 1532 阅读 · 0 评论 -
[最小点基]LightOJ 1034 - Hit the Light Switches
传送门:http://lightoj.com/volume_showproblem.php?problem=1034 1034 - Hit the Light SwitchesPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MB原创 2012-05-22 01:14:30 · 1870 阅读 · 0 评论 -
[双连通+割点+桥]无向图连通性问题专题
最近一直搞专辑,所以没写啥解题报告,今天终于搞完了一个,小结一下下题目来源,LightOJ,在Problem Category里的Graph Theory里的Articulation/Bridge/Biconnected Component1026 - Critical Links裸题,找桥用tarjan算法即可解决代码:#include#include#include原创 2012-05-04 16:02:43 · 3436 阅读 · 2 评论 -
SPFA的两个优化
SPFA与堆优化的Dijkstra的速度之争不是一天两天了,SPFA用在分层图上会比较慢。SPFA是按照FIFO的原则更新距离的,没有考虑到距离标号的作用。实现中 SPFA 有两个非常著名的优化:SLF 和 LLL。 SLF:Small Label First 策略。 实现方法是,设队首元素为,队列中要加入节点,在 时加到队首而不是队尾,否则和普通的 SP转载 2012-04-15 00:40:26 · 652 阅读 · 0 评论 -
吴文虎图论学习日志——第二章
最短路径的算法及其应用: 算法有很多,包括上面没有讲到的和讲到的:SSSP(单源最短路径):1.标号法 2.Dijkstra(可以用heap优化) 3.Bellman_ford(可以检测负环) 4.SPFA(可以检测负环,还可以继续优化,不过还没学)所有点对的最短路径:1.可以求N次SSSP 2.Floyd算法 该章提到的应用问题: 1. 求图原创 2012-03-21 15:22:17 · 4703 阅读 · 0 评论 -
学习日志_最短路径之标号法
吴文虎图论中的一个求最短路的方法只需要O(ElogE)的时间复杂度就可以求出单源结点的所有最短路径, 实现的时候使用优先队列来维护可选的弧集,代码如下:#include#include#includeusing namespace std;const int MAXN = 110;struct gnode;vector g[MAXN];int mark[MAXN],d[M原创 2012-03-19 12:29:51 · 1413 阅读 · 0 评论 -
[贪心]poj 1659 Frogs' Neighborhood
Frogs' Neighborhood Time Limit : 10000/5000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 5 Accepted Submission(s) : 1Special Judge Problem Description未名原创 2012-03-14 13:22:03 · 648 阅读 · 0 评论 -
[强连通分支]poj_1236_network of schools
题意:给定一个有向图,求最少要从几个结点开始能把图遍历完,最少添加多少条边,使得整个图强连通。先缩点,然后对于缩点以后的图,入度为0的点的个数就是第一问的解,第二问的解是入度为0结点个数和出度为0结点个数中的最大值,第二问参考的解题报告是:http://hi.baidu.com/oichampion/blog/item/1882abd7d86adec5a9ec9aa5.html原创 2012-03-13 15:03:06 · 897 阅读 · 0 评论 -
[割点问题]poj_1523_SPF
题目大意:给定一个网络,看是否有关节点存在(即割点,即去除该点后,图变成非连通图),如果存在输出该节点和去除该节点后连通子图的个数,如果不存在割点即输出没有割点存在。求割点直接用dfs解决即可,问题在于统计去除该割点后,连通子图的个数,其实在dfs时,遇到割点时,只要发现其儿子结点的low值比该割点的dfn值大或相等,那么去除该结点后,其儿子结点能到达的所有结点 必定构成一个连通子图,原创 2012-03-12 23:07:47 · 554 阅读 · 0 评论 -
求割点和桥的DFS
//无向图求割点和桥void dfs(int cur,int fa,int deep,int &time){ visit[cur] = 1; DFN[cur] = LOW[cur] = deep; int soncnt = 0; for(int i=0;i<g[cur].size();i++) { int v = g[cur][i]; if(!vis[v]原创 2012-03-12 09:19:55 · 2362 阅读 · 0 评论 -
无向图的连通性
先明白一些概念。割点:若一个点删除后(也就是与之相连的边统统去掉),无向图不再连通,那么此点称为割点。桥:若一条边断去后,无向图不再连通,那么此边称为桥。桥有一个很好的性质,就是DFS一个无向图,那么这个过程必定要经过桥。块:没有割点的无向图称为2-连通分支,也称作块。割点、桥均可以在DFS的过程中求得。那么,对于一个无向图有以下操作:1.将一个无向图的块缩成一个点。这个时转载 2012-03-12 08:48:16 · 2335 阅读 · 0 评论 -
SCC_Gabow
#include#include#include#include#includeusing namespace std;const int MAXN = 1001;vector g[MAXN];//adjliststack S,P;int belong[MAXN],vis[MAXN],indeg[MAXN],sccg[MAXN][MAXN],scccnt,disc[MAXN];原创 2012-03-02 12:56:10 · 533 阅读 · 0 评论 -
POJ_2762_强连通分量
刚刚在算导上学会用两次dfs求SCC,终于过了前段时间群赛的一个题。http://poj.org/problem?id=2762题意:给定一个有向图,让你求它是否为半连通图(即对于图中任意两个顶点u,v 是否有u可以到达v或者v可以到达u)解题思路:当时还不知道啥强连通分量,看了人家的一篇博客,了解了下解题思路,就是先求强连通分量+缩点,得到缩点以后的DAG(有向无环图),然后对缩原创 2012-02-17 17:00:28 · 679 阅读 · 0 评论 -
[割点问题]HOJ 12307 Disconnected Pair
传送门:http://acm.hnu.cn/online/?action=problem&type=show&id=12307题目大意:给定一个联通图,求出能有多少种不同的方式去除两个不同的点使得原图变的不联通。关于解题:这道是上次校赛的一道题,比赛当时没仔细想,也没仔细看数据,压根就没想枚举割点,后来听解题报告的时候恍然大悟,这道题可以先用tarjan求一次割点,然后对于此次求出的割点,原创 2012-06-24 18:43:33 · 888 阅读 · 0 评论