
图论
文章平均质量分 77
wuhulala
这个作者很懒,什么都没留下…
展开
-
拓扑入门 poj2367 Genealogical tree
这是原创 2014-05-15 11:54:09 · 1758 阅读 · 1 评论 -
强连通汇总
专题挂在虚拟oj hust上了 hdu 1269 判断强连通分量的个数,如果是一个就yes,否则no hdu 2767 判断最少加入几条边使他变为连通图,先缩点,再求入度和出度为0的点几个,求max(入度=0,出度=0) hdu 3836 和上题一样 hdu 1827 先算出强连通分量个数,再求所有强连通分量中的最小值的和。 hdu 3073 先缩点,原创 2014-12-05 23:56:07 · 857 阅读 · 0 评论 -
hdu 3594 强连通分量加环
传送门:Cactus 判断给定的有向图是否满足 1.强连通 2 每一条边属于且仅属于一个环?YES:NO 存在有两种情况(yy一下) 1.他的子节点在栈中 2.他的子节点的最早的时间戳不是他 #include #include #include #include #include using namespace std; #define N 20005 stacksta; ve原创 2014-12-04 20:21:32 · 1049 阅读 · 0 评论 -
hdu 3861强连通分量+最小图匹配
这个题卡了好久,发现还有什么二分图匹配这个东西。。然后简单搞了一下 二分图: 二分图又称二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A, j in B), 则称图G是二分图。e.g. 匹配: 给定一个二分图,在G的一个子图G’中,如果G’原创 2014-12-03 22:35:16 · 1065 阅读 · 0 评论 -
uva6511 强连通分量
求n减去在环上的元素个数 #include #include #include #include #include using namespace std; #define N 111111 stacksta; vectormp[N]; int dfn[N]; int low[N]; int InStack[N]; int indexx,number; int n, m; int nu原创 2015-06-21 00:30:10 · 808 阅读 · 1 评论 -
图论的些许关系
定义 匹配: 给定一个二分图,在G的一个子图G’中,如果G’的边集中的任意两条边都不依附于同一个顶点,则称G’的边集为G的一个匹配 最大匹配: 在所有的匹配中,边数最多的那个匹配就是二分图的最大匹配了 顶点覆盖: 在顶点集合中,选取一部分顶点,这些顶点能够把所有的边都覆盖了。这些点就是顶点覆盖集 最小顶点覆盖: 在所有的顶点覆盖集中,顶点数最小的原创 2015-07-19 15:16:12 · 987 阅读 · 0 评论 -
Virtual Friends
Virtual Friends 并查集+字典树原创 2014-08-06 20:43:29 · 1169 阅读 · 0 评论 -
hdu 2112(最短路+字典树)
只想说 字典树必释放内存 #include #include #include using namespace std; struct node { node *next[53]; int num; node (){ for(int i=0;i<=53;i++) next[i]=NULL; num=0; } }*root原创 2014-08-25 14:02:18 · 1033 阅读 · 0 评论 -
浅谈LCA的在线算法
LCA的在线算法原创 2014-12-11 19:08:57 · 4368 阅读 · 0 评论 -
浅谈LCA的离线算法
在线算法与离线算法的定义 在计算机科学中,一个在线算法是指它可以以序列化的方式一个个的处理输入,也就是说在开始时并不需要已经知道所有的输入。相对的,对于一个离线算法,在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果。例如,选择排序在排序前就需要知道所有待排序元素,然而插入排序就不必。 因为在线算法并不知道整个的输入,所以它被迫做出的选择最后可能会被证明不是最优的,对在原创 2014-12-11 21:23:51 · 2077 阅读 · 0 评论 -
hdu3078
求路径中权重最小的点 #include #include #include #include #include using namespace std; typedef long long ll; #define N 80010 int vis[N],mark[N],first[N],ver[N*2]; int val[N]; int dis[N]; int deep[N*2]; i原创 2014-12-14 08:03:42 · 1021 阅读 · 0 评论 -
考研路茫茫 (双连通 树形dp)
这道题就是模板的题加上一道很水的树形dp 感觉就先用 1,双连通缩点,如果只存在一个双连通分量,那么肯定是删除任何一个点,这个图还是连通的, 2,利用树形dp把缩点后连成一个图,然后用树形dp的一个dfs就算出答案了 #include #include #include #include #include #include using namespace std; #原创 2014-12-09 23:23:44 · 824 阅读 · 0 评论 -
邻接表 数据结构 -更新中。。。。。
邻接表定义:点击即可 可实现有向图和无向图 #include #include using namespace std; #define MAXVEX 100 typedef int VertexType; typedef int EdgeType; typedef struct EdgeNode { int adjvex; struct EdgeNode *next;原创 2014-11-28 21:30:03 · 960 阅读 · 0 评论 -
poj 2513 Colored Sticks 欧拉回路(字典树 +并查集)
此题中涉及三个小算法,这是一个无向图判断欧拉回路, 无向图存在欧拉回路的充要条件 一个无向图存在欧拉回路,当且仅当该图只存在0或2个奇数度数的顶点,且该图是连通图。 有向图存在欧拉回路的充要条件 一个有向图存在欧拉回路,所有顶点的入度等于出度且该图是连通图。 判断度数很简单,当时没想明白怎么判断图示连通的,其实只要判断他们的父节点的个数,只要只有一个父节点,那么此图是原创 2014-11-02 16:57:37 · 1080 阅读 · 0 评论 -
hdu 3342 Legal or Not (拓扑排序)
拓扑排序-----重边坑死人原创 2014-08-27 11:00:58 · 964 阅读 · 0 评论 -
hdu 1166
只是纪念1A #include #include #include using namespace std; #define maxx 50050 int bit[maxx],a[maxx]; int n; int aa,bb; char s[10]; int sum(int i){ int s=0; while (i>0){ s+=bit[i];原创 2014-08-26 18:41:25 · 813 阅读 · 0 评论 -
poj 2299 Ultra-QuickSort
树状数组入门原创 2014-08-26 18:38:04 · 1147 阅读 · 0 评论 -
hdu 1247
http://acm.hdu.edu.cn/showproblem.php?pid=1247原创 2014-08-06 08:54:35 · 769 阅读 · 0 评论 -
hdu 2838 cow sorting(树状数组)
求逆序对的和原创 2014-08-29 09:39:15 · 5353 阅读 · 0 评论