
图论 算法
guoshiyuan484
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uvalive3523非主流的代码!!求点双连通分量
刘汝佳的代码感觉拖泥带水的啊!!!只有自己撸一个了!!!//如果有重边弄一个标价变量k时就好了k==0时continue k>=1时不continue;//这个程序还不能处理只有一个点的连通块如果需要计数这种情况的话先初始化让每个点都成一个连通块最后没和其他点在一起的点就单独成一个#include#include#include#include#include;using nam原创 2017-08-16 16:05:36 · 277 阅读 · 0 评论 -
点双连通分量——究极版。非主流的版本。。uvalive5135
这题主要是注意边界。什么事边界呢?一个单点且不是割点是边界,一个双连通分量只有一个或0个割点是边界,为什么因为他们都有一个共同点就是只能往一个方向走,当然0个割点的双联通分量是个特殊情况。然后分清边界后每个边界都必须有一个点,然后再考虑一个特殊情况,就好啦。。。最后注意long long实现的时候,判断割点时要注意是否是根因为这个错好久 囧!!!!后记:为什么没用刘汝佳的代码,主要是原创 2017-08-20 18:06:35 · 250 阅读 · 0 评论 -
bzoj2140对tarjan算法的一些理解
{ int j; DFN[i]=LOW[i]=++Dindex;//Index 时间戳 instack[i]=true;//标记入栈 Stap[++Stop]=i;//入栈 for (edge *e=V[i];e;e=e->next)//枚举所有相连边 { j=e->t;//临时变量 if (!DFN[j])//j没有被搜索过 { tarjan(j);//原创 2017-03-17 16:59:26 · 619 阅读 · 0 评论 -
bzoj4443
先开始想的是一个完美匹配,后面不断优化到了直接一个最大匹配就好了。。。囧。。。。#include#include#includeusing namespace std;struct edgee{ int from, to,value; edgee(int from, int to, int v) :from(from), to(to), value(v) {} edgee()原创 2017-10-15 10:58:22 · 257 阅读 · 0 评论 -
最佳完美匹配性质1poj3565-边上的性质
//注意边要反号#include#include#include#includeusing namespace std;const double eps = 1e-8;struct pointt{ double x, y; pointt(double x, double y) :x(x), y(y) {} pointt() {}};pointt pointx[110],原创 2017-08-14 10:38:56 · 2297 阅读 · 0 评论 -
floyd闭包或者加一点并查集uva247
这题我学习了map的用法以及string 的快速输入与输出,这题格式要求 严格输出要有逗号加一个空格,还有就是每次都要换行什么烦死啦!!!!(反正仔细看输出格式)其他都很水。。。。。带并查集的10ms做法:#include#include#include#include#include#includeusing namespace std;string name[60];原创 2017-08-15 17:11:31 · 213 阅读 · 0 评论 -
uvalive3126最小路径覆盖
对于最小路径覆盖现在研究的不深入,只知道既然你只能选一条路径且路径不相交这个很明显对于点来说就是一个匹配,一个点只能和一个边匹配。。然后如果能相交再求最小路径覆盖的话就先floyd然后能连通的连边,然后按照老办法跑就是了,因为老办法是无法容忍交点的,所以floyd后我们能越过交点进行连边导致实际上是相交的功能这题不用分析吧。。。裸~~~~#include#include#include原创 2017-08-22 15:31:09 · 242 阅读 · 0 评论 -
uva11324强连通分量在dag图上的dp
图论要是不会出数据是很难ac的,感觉很多题都这样额。。。。。dag图就是要dfs来dp,bfs的话很慢额。。。其他都很easy。。。。就这丫送一组数据:122 211 22 33 45 26 57 68 79 410 911 1012 1113 314 1315 1416 1517 1618 173 191原创 2017-08-22 12:21:16 · 245 阅读 · 0 评论 -
有向图强联通分量uvalive4287
这题先缩环,然后图变成了森林,可以知道如果每个点都至少有一个出度和一个入度,那么就是强连通的,不过要注意的是连边的时候要贪心一下,先连在不同树上的,再连在同一颗树上的,这可以用并查集辅助处理。。当然此题并没有让输出连的边。所以只要输出max(出度0数,入度0数)再特判一个只有一个强连通的情况就好了。#include#include#include#include#includeusi原创 2017-08-21 13:48:26 · 270 阅读 · 0 评论 -
最佳完美匹配性质2 uva11383-点上的性质
//此题我觉得应该是阔以求row(i)+col(j)的最大值的只不过是在w(i,j)>=row(i)+row(j)的情况下,将边反号就好了,当然也阔以不反号直接求。。上一篇题解写了。#include#include#includeusing namespace std;int map[600][600];int visitx[600], visity[600], match[600],原创 2017-08-14 13:45:19 · 936 阅读 · 0 评论 -
uvalive3415
虽然这题是到水题,但是我还是犯了一些错,不过水题是不能贴博客的这是我的原则,但是这只是我的小号啦2333333注意每次dfs前都要将visity清零.分析:就是最大独立团求一个,刘汝佳的书有分析。广告:不懂最小覆盖和最大匹配的关系,或者想看证明的点这里。http://blog.youkuaiyun.com/guoshiyuan484/article/details/77318038#include原创 2017-08-19 13:43:56 · 229 阅读 · 0 评论 -
tarjan算法-双连通分量
//因为long long wa了几发....然后主要就是注意割点和求联通分量条件不一样,求割点的条件并不需要low[num]==dfn[num]这个条件太严格了。只需要low[to]<=dfn[num]即可//无向图的点连通分量什么的和有向图差不多,细节yy一下即可。//发现一个奇怪的现象为什么内存开的越大时间越短呢????#include#include#includeusing原创 2017-07-26 22:22:14 · 403 阅读 · 0 评论 -
lca
//目前会三个版本//1.倍增法。看挑战。//2.rmq.看挑战//3.离线 tarjan看http://www.cnblogs.com/JVxie/p/4854719.html//离线的基本原理是依据dfs的括号性的(看算法导论找dfs括号性)//在已知各个询问的时候我们阔以用并查集来辅助。。首先init() 另father[i]=i;然后开始dfs()//这里还需要一个visit原创 2017-07-26 16:58:13 · 442 阅读 · 0 评论 -
bzoj1823 tarjan算法应用-2-sats算法
//对于tarjan搞完后要求拓扑序的话只要记录每个强联通分量的出度和父亲边就好了从出度为0的开始用一个栈来保存出度为0的强联通分量;//此题不阔能爆栈,不要蛋桶的去写非递归。。。//什么问题用sat?当要二选以然后又矛盾的情况时用。能够用(a并b)交(x并y)........表示的问题就阔以用。//如在只能选a 和b 中的一个时而且必须选一个就是(a交非b)并(b交非a)化简后就是(a并b原创 2017-07-26 11:51:21 · 336 阅读 · 0 评论 -
二分图最大匹配与最小顶点覆盖(教程系列)uva11419——我目前关于最大匹配最清晰的解释。
定义什么的百度拉拉,我只说证明.1.假设我们现在已经用匈牙利算法求出了最大匹配,很明显现在已经木有增广路了(即未匹配->匹配->未匹配这些形式的路径,图里是木有的,不过一定要从下面说的那种特殊点开始)2.现在我们从右边开始标记一些点沿着(未匹配->匹配->未匹配......->匹配)这种形式的路径进行,(特别注意的是这个起点一定没有和匹配边相邻接,为什么?看下面。)标记路径上经过的所有原创 2017-08-17 16:00:21 · 756 阅读 · 0 评论 -
bzoj1487
这种题就是考个tarjan算法,然后题意很迷,估计岛的形状是一个大岛然后各个小岛的形成的环大小不超过3,当然大岛的大小也可能是3,所以这是此题容易错的地方#include#include#includeusing namespace std;struct edgee{ int to;};edgee edge[400020];int first[100020], nextt[4原创 2017-11-22 21:15:27 · 277 阅读 · 0 评论