图论
是Elie呀
人生苦短,莫忘初衷;凡事相信,凡事期待。认真做事,认真做人!翁恺老师寄语:“其实学习终归是一件痛苦的事情,所以呢面对学习你还是得要认真,用功,努力地去学习。享受的是什么?是学习之后获得的那种成就,快乐是从成就中来的。”
展开
-
六度空间
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。原创 2017-11-29 22:58:21 · 722 阅读 · 0 评论 -
Bellman-Ford算法
//Bellman-Ford解决负权边,思想上还是代码实现上都堪称完美的算法for(int i=1;k<=n-1;k++) //最多通过n-1条边,到达其余个点的最短路径的长度 for(int i=1;i<=m;i++) if(dist[v[i]>dist[u[i]]+w[i]) dist[v[i]]=dist[u[i]]+w...原创 2018-08-25 11:54:28 · 807 阅读 · 0 评论 -
( 最短路 Dijkstra ) NYOJ - 115 - 城市平乱
描述南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市。他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M。现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市平乱。现在已知在任意两个城市之间的路行军所需的时间,你作为南将军麾下最厉害的程序员,请你编写一个程序来告诉南将军第一个分队到达叛乱城市所需的时间。注...原创 2018-03-30 09:56:37 · 166 阅读 · 0 评论 -
(多源最短路)哈利·波特的考试
哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列...原创 2018-03-29 21:18:04 · 141 阅读 · 0 评论 -
(单源最短路)旅游规划
有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D...原创 2018-03-29 19:39:42 · 275 阅读 · 0 评论 -
(Dijkstra算法、Floyd算法、SPFA)hdu 1874 畅通工程续
传送门:hdu 1874 畅通工程续Dijkstra算法(单源最短路算法)Dijkstra算法的主要思想是通过“边”来松弛源点到其余各个点的路程。权值必须为非负值,理由如下: 该算法是一种基于贪心策略的算法。每次新扩展一个路程最短的点,更新与其相邻的点的路程。当所有边权都为正时,由于不会存在一个路程更短的没扩展过的点,所以这个点的路程永远不会再被改变,因而保证了算法的...原创 2018-01-30 20:39:39 · 285 阅读 · 0 评论 -
图论算法进阶习题集
图论算法进阶习题集最近在做一些图论的题,像steiner 树一类的算法,还有网络流,下面转载了500道进阶练习题,希望以后能针对性的训练一下,毕竟是熟能生巧,不练不知道。 =============================以下是最小生成树+并查集====================================== 【HDU】 1213 H...转载 2018-10-23 08:42:53 · 851 阅读 · 0 评论 -
(差分约束,Dijkstra+堆优化)poj3159 Candies
传送门:poj3159 Candies题意:30000点,150000边的稀疏图求单源最短路,读入“A B C”,就添加A->B的有向边,权值为C,然后求1到N的最短路。因为N号说了,他只跟一号比较。#include<iostream>#include<vector>#include<algorithm>#include<queu...原创 2018-10-23 09:43:07 · 268 阅读 · 0 评论 -
(Bellman-ford/SPFA)poj3259 Wormholes
传送门:poj3259 Wormholes1.Bellman-ford//poj3259#include<iostream>#include<vector>#include<algorithm>#include<queue>#include<cstring>#include<cstdio>using n...原创 2018-10-23 10:13:15 · 194 阅读 · 0 评论 -
1232畅通工程(并查集)
1232畅通工程Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇原创 2017-08-21 14:41:20 · 265 阅读 · 0 评论 -
(并查集)L2-024. 部落
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(<= 104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ... P[K]其中K...原创 2018-02-10 16:25:26 · 620 阅读 · 0 评论 -
(并查集)朋友圈
某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后...原创 2018-02-15 18:14:04 · 475 阅读 · 0 评论 -
(dfs)迷宫探索
数据结构实验之图论四:迷宫探索 Problem Description 有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点? Input 连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1 < N <= 1000)、边数M(M <= 3000)和起始结点编号S,随后M原创 2017-08-16 15:06:48 · 367 阅读 · 0 评论 -
(优先队列)2506完美网络
完美网络Problem Description 完美网络是连通网络的基础上要求去掉网络上任意一条线路,网络仍然是连通网络。求一个连通网络要至少增加多少条边可以成为完美网络。Input 第一行输入一个数T代表测试数据个数(T<=20)。每个测试数据第一行2个数n,m 分别代表网络基站数和基站间线路数。基站的序号为从1到n。接下来m行两个数代表x,y 代表基站x,y间有一条线路。 (0原创 2017-08-17 15:10:27 · 206 阅读 · 0 评论 -
(bfs)POJ3278 Catch That Cow
Catch That CowProblem Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the原创 2017-08-17 11:08:28 · 253 阅读 · 0 评论 -
(dfs+离散)格尼斯堡的“七桥问题”
7-1 哥尼斯堡的“七桥问题”(25 分)原创 2017-12-02 21:01:44 · 2269 阅读 · 0 评论 -
差分约束专题
详解请点击右侧:夜深人静写算法(四)- 最短路和差分约束差分约束系统其实是最短路的扩展与应用。因为在差分约束系统中一般都存在负值,此时使用的单源最短路径算法一般为SPFA算法。需要说明的是:如果途中存在负权回路,则该差分约束系统不存在可行解,而如果源点到某点如果不存在最短路径,则对于该点所表示的变量可以取任意值,都能满足差分约束系统的要求。差分约束系统的使用难点在于讲实际问题向差分约束...原创 2018-08-27 11:34:15 · 323 阅读 · 0 评论 -
(并查集)POJ1182 食物链
Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述...原创 2018-05-12 11:34:24 · 296 阅读 · 0 评论 -
(种类并查集)POJ1703 Find them, Catch them
点击打开链接 Find them, Catch themTime Limit: 1000MS Memory Limit: 10000K Total Submissions: 50365 Accepted: 15464 DescriptionThe police office in Tadu City decides to say ends t...原创 2018-04-27 15:58:39 · 154 阅读 · 0 评论 -
(vector二维数组+并查集)L2-013. 红色警报
战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N <=500)和M(<=5000),分别为城市个数(于是默认城市从0到N-1编号)和...原创 2018-02-10 18:00:02 · 554 阅读 · 0 评论 -
(最大生成树)poj6187 Destroy Walls
传送门:poj6187 Destroy Walls图中只要没环即可。一开始,这题怎么也没想明白,有的大佬题解里说到了平面图和对偶图,在了解了这两个图后再来看这个题,简直豁然开朗!啊哈哈!可能也没有直接的关系。#include<iostream>#include<vector>#include<algorithm>#include<q...原创 2018-10-24 22:56:07 · 236 阅读 · 0 评论