ACM_图论
x_y_q_
代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你。
展开
-
并查集详解
并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判转载 2016-04-19 23:14:36 · 271 阅读 · 0 评论 -
Dining(最大流)
E. DiningTime Limit: 2000msMemory Limit: 65536KB64-bit integer IO format: %lld Java class name:Main SubmitStatus PID: 3400 Cows are such finicky eaters. Each cow has a p原创 2016-11-19 23:19:11 · 760 阅读 · 0 评论 -
Test for Job(topo+动态规划)
话不多说先上题目 Test for JobTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 10393 Accepted: 2429 De原创 2016-07-14 15:16:56 · 433 阅读 · 0 评论 -
单词拼接(有向图的欧拉回路)
http://acm.nyist.net/JudgeOnline/problem.php?pid=99单词拼接时间限制:3000 ms | 内存限制:65535 KB难度:5描述给你一些单词,请你判断能否把它们首尾串起来串成一串。前一个单词的结尾应该与下一个单词的道字母相同。如aloha原创 2016-08-24 16:48:59 · 787 阅读 · 0 评论 -
The merchant(LCA——Tarjan高级应用)
http://poj.org/problem?id=3728The merchantTime Limit: 3000MSMemory Limit: 65536KTotal Submissions: 4117Accepted: 1387DescriptionThere are N cities i原创 2016-07-21 10:09:29 · 627 阅读 · 0 评论 -
Cow Marathon(两次dfs求树的直径)
http://poj.org/problem?id=1985Cow MarathonTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 4698 Accepted: 2323Case Time Limit: 1000MSDescriptio原创 2016-07-20 16:16:12 · 602 阅读 · 0 评论 -
关于LCA(Tarjan+ST)
又是深夜更新博客。。。为的是写一下今天学的LCA(Least Common Ancestors),也就是最近祖先问题。。。最近祖先也就是离根结点最远的祖先。。。有两种算法,一种是离线算法:Tarjan算法(突然觉得这个人提出了好多算法。。。),第二种是在线算法:ST算法 。 由于今天只看了Tarjan算法、它的一些拓展和RMQ,并没有写ST的模板,再加上没有数据结原创 2016-07-18 21:55:38 · 608 阅读 · 1 评论 -
带权二分图的最佳匹配(KM算法)
还是没看懂一般图都是最大匹配问题。。怪我太笨了哎~ 先来个看明白了的KM算法——寻找带权二分图的最佳匹配方法一般对KM算法的描述,基本上可以概括成以下几个步骤:(1) 初始化可行标杆(2) 用匈牙利算法寻找完备匹配(3) 若未找到完备匹配则修改可行标杆(4) 重复(2)(3)直到找到相等子图的完备匹配关于该算法的流程及实施,网上有很多介绍,基本上都是围绕可行标杆如何原创 2016-07-16 23:17:00 · 22835 阅读 · 6 评论 -
二分图的基本概念+二分图的最大匹配问题(匈牙利算法)
今天学了二分图的最大匹配,其中的匈牙利算法。。哦不,其实远不止这个,还有后面的一系列KM、开花树啊什么的算法。反正又是一个异常懵逼的一天。。。我觉得应该是上课前没有稍微预习一下这个算法是什么,了解个大概,导致上课总是老师讲到后面了,我却还在纠结前面的内容。。可以当作经验教训。 明天他们要去杭电打团体赛。。也不知道怎么的,当时明明跟老师说了,却没报上名。。。这样也好,最近太累了需原创 2016-07-15 20:05:41 · 15660 阅读 · 0 评论 -
双连通分量(点+边)
定义: 对于一个连通图,如果任意两点至少存在两条点不重复路径,则称这个图为点双连通的(简称双连通);如果任意两点至少存在两条边不重复路径,则称该图为边双连通的。点双连通图的定义等价于任意两条边都同在一个简单环中,而边双连通图的定义等价于任意一条边至少在一个简单环中。对一个无向图,点双连通的极大子图称为点双连通分量(简称双连通分量),边双连通的极大子图称为边双连通分量。这篇博客就是总结一下求解无转载 2016-07-13 01:11:27 · 749 阅读 · 0 评论 -
SPFA专题
首先 SPFA 算法是用来求最短路径的,相比Dijastra SPFA还可以处理权值为负数的情况,实际上这个算法在国际中并不被认可,但是它的确是一个高效的最短路算法,它是Bellman-Ford算法的优化版本,时间复杂度为O(kE),k的值一般情况下比较小,所以比较适合来求最短路径。SPFA算法的思想首先建立一个d数组来记录每个节点i到起点s的最短路径长度,将d数组所有初始值全部赋为正无原创 2016-07-14 10:40:42 · 406 阅读 · 0 评论 -
Destroying The Graph(最小割+拆点)
http://poj.org/problem?id=2125Destroying The GraphTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 7976 Accepted: 2571 Special JudgeDescriptionAlic原创 2016-07-24 00:06:58 · 664 阅读 · 0 评论 -
几种图的构建方法的总结
图的构成有各种各样的方式,只要你认为逻辑上能形成一张图,并且你看得懂自己的构图数据,那么就是一张好图。。(这只是我的一点认为)为了打ACM不得不使用简洁,效率高的代码(说白了就是赶时间) 下面总结几种方法第一种 也是目前比较流行的 邻接表形式/********************************************************原创 2016-07-13 21:56:22 · 1898 阅读 · 0 评论 -
Network(图——割点 + 模板)
关于割点:1.在无向连通图中,删除一个顶点v及其相连的边后,原图从一个连通分量变成了两个或多个连通分量,则称顶点v为割点,同时也称关节点(Articulation Point)。2.一个没有关节点的连通图称为重连通图(biconnected graph)。3.若在连通图上至少删去k 个顶点才能破坏图的连通性,则称此图的连通度为k。图的保存:邻接矩阵或邻接表原创 2016-07-09 15:52:35 · 1076 阅读 · 0 评论 -
Genealogical tree(拓扑排序问题——基础)
NetworkTime Limit: 1000msMemory Limit: 10000KB64-bit integer IO format: %lld Java class name:Main SubmitStatus A Telephone Line Company (TLC) is establishing a new telephone原创 2016-07-08 21:41:53 · 1199 阅读 · 0 评论 -
二分图(未完。。)
0 定义 设G=(V,E)是一个无向图。如顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属两个不同的子集。则称图G为二分图。也就是说在二分图中,顶点可以分为两个集合X和Y,每一条边的两个顶点都分别位于X和Y集合中。如下图所示:1最大匹配 在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配。选择这样的边数最大的子集称为图的最原创 2016-07-10 18:49:26 · 357 阅读 · 0 评论 -
最短路径—Dijkstra算法和Floyd算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假转载 2016-04-20 19:21:29 · 210 阅读 · 0 评论 -
并查集——A bug s life
A Bug's Life Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)原创 2016-04-13 23:41:03 · 991 阅读 · 0 评论 -
A Plug for UNIX(最大流)
题目链接点击这里 A Plug for UNIXTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16517 Accepte原创 2016-11-27 23:01:28 · 657 阅读 · 0 评论