![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法_图
文章平均质量分 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 · 294 阅读 · 0 评论 -
hdu3639 targin+缩点+建立反向图
题解:俺是菜鸟这题不会写,看题解的 点击打开链接题目:一群人相互投票,票数可以传递,但是一个人只能从另一个人那里获得一张票,比如0->1 1->2 0->2 2获得的票数最多,有2张。求哪一些人获得的票数最多?解题 :targin缩点后 得到一个DAG(有向无环图,顺便记录下每个强连通图包含的节点数),每个强连通图可以用一个唯一编号去代替,这样可以知道有多少个强连通图是没有出...原创 2018-05-16 09:08:20 · 1196 阅读 · 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 · 488 阅读 · 0 评论 -
hdu1532 Drainage Ditches(最大流模板)
EK 算法 复杂度 n*m*m https://blog.csdn.net/x_y_q_/article/details/51999466Dinic算法 复杂度 m*n*n https://www.cnblogs.com/SYCstudio/p/7260613.html本来这道题 Dinic 和 EK 复杂度应该一样,不知道为什么 EK 0ms Dinic15msEK:#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 · 3005 阅读 · 0 评论 -
二叉树的前序,中序,后序遍历
什么是二叉树?二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。因为忘记了关于树的遍历,所以现在做下笔记。中序+前序 求 后序//根据前序,中序,建立树,输出后序遍历的结果 #include#includestruct Node{ Node *lchild;原创 2017-11-02 21:39:22 · 315 阅读 · 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 · 259 阅读 · 0 评论 -
hdu1232 畅通工程(并查集模板)
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1232#includeint 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 · 1310 阅读 · 1 评论 -
最短路径--迪杰斯特拉算法
原文:http://www.cnblogs.com/Braveliu/p/3458671.html【1】最短路径最短路径?别乱想哈,其实就是字面意思,一个带边值的图中从某一个顶点到另外一个顶点的最短路径。官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径。并且我们称路径上的第一个顶点为源点,最后一个顶点为终点。由于非内网图没有边转载 2017-07-16 17:37:43 · 905 阅读 · 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 · 305 阅读 · 0 评论