算法_图
文章平均质量分 94
勤勤勤能补拙
心似骄阳万丈光
展开
-
深度优先搜索(DFS),广度优先搜索(BFS)
原文:http://blog.163.com/wujiaxing009%40126/blog/static/71988399201241484630763/图的遍历一般由两者方式:深度优先搜索(DFS),广度优先搜索(BFS),深度优先就是先访问完最深层次的数据元素,而BFS其实就是层次遍历,每一层每一层的遍历。1.深度优先搜索(DFS) 类似树的前序遍历我一贯习惯有举例的方法来讲,示例如下:红...转载 2017-07-16 11:16:52 · 440 阅读 · 0 评论 -
poj2230 Watchcow(打印欧拉回路模版)
题目: http://poj.org/problem?id=2230 欧拉回路:是指所有的边都只经过一次且仅一次,并且要走回到出发点的一条路径 欧拉路径:表示一条不需要回到出发点,但是必须经过所有的边且都只经过一次的路径 无向图存在欧拉回路的充要条件是所有的点的度数均为偶数 无向图存在欧拉路径的充要条件是度数为奇数的点的数量为0个或者2个。 有向图存在欧拉回路的充要条件是所有的点的出度均等...原创 2018-07-29 15:46:47 · 295 阅读 · 0 评论 -
hdu3639 targin+缩点+建立反向图
题解:俺是菜鸟这题不会写,看题解的 点击打开链接题目:一群人相互投票,票数可以传递,但是一个人只能从另一个人那里获得一张票,比如0->1 1->2 0->2 2获得的票数最多,有2张。求哪一些人获得的票数最多?解题 :targin缩点后 得到一个DAG(有向无环图,顺便记录下每个强连通图包含的节点数),每个强连通图可以用一个唯一编号去代替,这样可以知道有多少个强连通图是没有出...原创 2018-05-16 09:08:20 · 1198 阅读 · 0 评论 -
强联通分量targin模板(poj2186)
http://poj.org/problem?id=2186//poj2186 强联通图模板 节点数1W 边数5W 79ms G++ #include<stdio.h> const int sz = 50000+10; struct Edge { int to; int next; }; Edge edge[sz]; //存放边 int head[sz]={0};//每...原创 2018-05-11 21:47:24 · 494 阅读 · 0 评论 -
hdu1532 Drainage Ditches(最大流模板)
EK 算法 复杂度 n*m*m https://blog.csdn.net/x_y_q_/article/details/51999466 Dinic算法 复杂度 m*n*n https://www.cnblogs.com/SYCstudio/p/7260613.html 本来这道题 Dinic 和 EK 复杂度应该一样,不知道为什么 EK 0ms Dinic15ms EK: #in原创 2018-04-20 17:57:49 · 153 阅读 · 0 评论 -
LCA 离线targin模板
参考文章:https://www.cnblogs.com/jsawz/p/6723221.html 模板题目:POJ1330 有根树 节点1W,查询1次 , 耗时:282ms //targin 模板 2018.5.8 #include<stdio.h> #include<memory.h> #include<set> using namespace ...原创 2018-05-08 23:29:49 · 3007 阅读 · 0 评论 -
二叉树的前序,中序,后序遍历
什么是二叉树? 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。 因为忘记了关于树的遍历,所以现在做下笔记。 中序+前序 求 后序 //根据前序,中序,建立树,输出后序遍历的结果 #include #include struct Node { Node *lchild;原创 2017-11-02 21:39:22 · 316 阅读 · 0 评论 -
poj2458 Highways(最小生成树模版)
题目: https://vjudge.net/problem/POJ-2485 最小生成树算法(Prim算法讲得好): http://www.cnblogs.com/biyeymyhjob/archive/2012/07/30/2615542.html 这篇Kruskal算法讲得更清楚 : http://blog.csdn.net/luomingjun12315/article/detai原创 2017-11-03 21:28:52 · 264 阅读 · 0 评论 -
hdu1232 畅通工程(并查集模板)
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1232 #include int pre[1010];//记录每一个节点的跟节点 int find(int x)//寻找x的根节点 { int r=x; while(pre[r]!=r)//找父亲 { r=pre[r]; } //压缩,修改自己和上级的pre,全部直接变成老大 i原创 2017-11-03 19:45:36 · 215 阅读 · 0 评论 -
并查集算法(有趣的讲解)
转载自: http://blog.csdn.net/dellaserss/article/details/7724401/ 这个文章是几年前水acm的时候转的, 当时也不知道作者是谁, 要是有人知道的话说一下吧 并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我转载 2017-11-03 19:44:27 · 1320 阅读 · 1 评论 -
最短路径--迪杰斯特拉算法
原文:http://www.cnblogs.com/Braveliu/p/3458671.html 【1】最短路径 最短路径?别乱想哈,其实就是字面意思,一个带边值的图中从某一个顶点到另外一个顶点的最短路径。 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径。 并且我们称路径上的第一个顶点为源点,最后一个顶点为终点。 由于非内网图没有边转载 2017-07-16 17:37:43 · 906 阅读 · 0 评论 -
hdu6311 Cover(对多个联通块求欧拉回路,并打印路径)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=6311 围观大神博客: http://www.cnblogs.com/stranger-/p/9379603.html 题意:有一个无向图,不连通,这个图有1~n条边,用编号标记某条边,用正负表示方向 比如输入3条边 1 2 ,1 3 , 2 3;输出 1 3 -1 表示 1->2->3...原创 2018-07-31 14:14:45 · 309 阅读 · 0 评论