
🐖图论相关算法
文章平均质量分 56
🐖图论相关算法
风骨散人Chiam
我叫风骨散人Chiam,名字的意思是向往可以不低头的自由生活,可现实却不是这样,希望同样被生活绑架的你,可以通过自己的努力改变现状。目前在中国科学院攻读研究生,研究方向是网络安全和控制访问,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!
如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
感谢大家的阅读!你的点赞、收藏、关注是对我最大的鼓励!
在CSDN没什么收益,博主已经没有动力继续更新技术文章了,已经准备跑路了,大家如果想了解我的更改情况就去我的主页看看。
展开
-
『ACM-算法-图论』算法竞赛进阶指南--hamilton路径(模板)
> 哈密顿图(哈密尔顿图)(英语:Hamiltonian graph,或Traceable> graph)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian> cycle),含有图中所有顶点的路径称作哈密顿路径(Hamiltonian path)。 >天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中,寻找一条从给定的原创 2020-04-14 10:47:06 · 3295 阅读 · 0 评论 -
DAG的深度优先搜索标记
这是图论的基础知识点,也是学习Tarjan的导学课。一、知识对于在图G上进行深度优先搜索算法所产生的深度优先森林Gt,我们可以定义四种边的类型:1.树边(Tree Edge):为深度优先森林中Gt的边。如果结点v是因算法对边(u,v)的搜索而首先被发现,则(u,v)是一条树边。2.后向边(Back Edge):后向边(u,v)是将结点u连接到其在深度优先树中(一个)祖先结点v的边,由于有向...原创 2019-10-14 22:33:09 · 2972 阅读 · 0 评论 -
树上倍增法求LCA
我们找的是任意两个结点的最近公共祖先, 那么我们可以考虑这么两种种情况:1.两结点的深度相同.2.两结点深度不同.第一步都要转化为情况1,这种可处理的情况。先不考虑其他, 我们思考这么一个问题: 对于两个深度不同的结点, 把深度更深的那个向其父节点迭代, 直到这个迭代结点和另一个结点深度相同, 那么这两个深度相同的结点的Lca也就是原两个结点的Lca. 因此第二种情况转化成第一种情况来...原创 2019-10-12 22:30:51 · 2690 阅读 · 0 评论 -
POJ 1330 Nearest Common Ancestors(裸LCA)
Nearest Common AncestorsTime Limit:1000MS Memory Limit:10000K Total Submissions:39596 Accepted:19628 DescriptionA rooted tree is a well-known data structure in computer sci...原创 2019-10-05 15:37:38 · 2549 阅读 · 0 评论 -
树的直径总结
1.树的直径的求法不是很难,两遍DFS,树的直径又称为最长路,没看到树的直径的裸题,除了饭店的那个题,讲的是有一家饭店在一个图中,饭店的送餐时间与最远的送餐距离成正比,求饭店的修建位置使得饭店的送餐时间最短,那么这个题就是说在图中赵找一条最长路,将饭店建在最长路的中心,这个题也是CCPC2019网络赛的一个题,几乎一样的模板,但是这个知识点常与树形DP一起出现,什么添边,什么附加条件,但是离不开最...原创 2019-09-06 21:51:38 · 2583 阅读 · 0 评论 -
稳定婚姻问题
稳定婚姻问题“稳定婚姻问题”在生活中是一个典型的问题,通俗地可叙述为:当前有N位男生和N位女生最后要组成稳定的婚姻家庭,过程开始之前男生和女生在各自的心目中都按照喜爱程度对N位异性有了各自的排序.然后开始选择自己的对象,其规则是:男生第一天均向各自最喜欢的女生写一封“情书”。问题来源问题来自于一场“3分钟相亲”活动,参加活动的有n位男士和n位女士。要求每位男士都要和所有的女士进行短暂的单独交...原创 2019-11-25 22:07:25 · 2763 阅读 · 0 评论 -
CodeForces - 1245 D - Shichikuji and Power Grid
Shichikuji is the new resident deity of the South Black Snail Temple. Her first job is as follows:There arennnew cities located in Prefecture X. Cities are numbered from11tonn. Cityiiis locat...原创 2019-11-06 23:41:47 · 2609 阅读 · 0 评论 -
POJ 3164 Command Network
DescriptionAfter a long lasting war on words, a war on arms finally breaks out between littleken’s and KnuthOcean’s kingdoms. A sudden and violent assault by KnuthOcean’s force has rendered a total f...原创 2019-10-14 23:39:01 · 2527 阅读 · 0 评论 -
POJ 3241Object Clustering曼哈顿距离最小生成树
Object ClusteringDescriptionWe have N (N ≤ 10000) objects, and wish to classify them into several groups by judgement of their resemblance. To simply the model, each object has 2 indexes a and b (a,...原创 2019-10-13 23:20:16 · 2627 阅读 · 0 评论 -
曼哈顿距离最小生成树
一、参考博客博客:曼哈顿距离最小生成树与莫队算法博客:学习总结:最小曼哈顿距离生成树二、前置知识1.曼哈顿距离:给定二维平面上的N个点,在两点之间连边的代价。(即distance(P1,P2) = |x1-x2|+|y1-y2|)2.曼哈顿距离最小生成树问题求什么?求使所有点连通的最小代价。3.最小生成树三、具体实现方式朴素的算法可以用O(N2)的Prim,或者处理出所有边做Kru...原创 2019-10-13 23:18:06 · 2840 阅读 · 0 评论 -
疯子的算法总结11--次小生成树+严格次小生成树
一、总体思路首先,我这一题的思路是倍增LCA+Kruskal首先,kruskal求最小生成树 不会的戳这里 求次小生成树 倍增 LCA关键在于次小生成树怎么求:问自己一些问题 怎么求不严格次小生成树 不严格次小生成树为什么不严格 方法每次选择U—V之间的边,前提是最小生成树上不存在的边,添边之后删去较短边,使用LCA找到祖先,删边,这里保证次小生成树的...原创 2019-10-12 22:47:27 · 2808 阅读 · 0 评论 -
POJ 1789 Truck History 最小生成树
Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a tr...原创 2019-09-25 09:33:39 · 2577 阅读 · 0 评论 -
POJ2421 Constructing Roads 最小生成树
修路时限:2000MS 内存限制:65536K 提交总数:31810 接受:14215 描述有N个村庄,编号从1到N,您应该修建一些道路,使每两个村庄可以相互连接。我们说两个村庄A和B是连通的,当且仅当A和B之间有一条道路,或者存在一个村庄C使得A和C之间有一条道路,并且C和B连通时。我们知道,一些村庄之间已经存在一些道路,您的工作是建造一...原创 2019-09-25 09:22:01 · 2602 阅读 · 0 评论 -
POJ Building a Space Station 最小生成树
Time Limit:1000MS Memory Limit:30000K Total Submissions:15664 Accepted:6865 DescriptionYou are a member of the space station engineering team, and are assigned a task in t...原创 2019-09-25 09:15:17 · 2596 阅读 · 0 评论 -
POJ 1287 Networking 垃圾题目
Networking Time Limit:1000MS Memory Limit:10000K Total Submissions:22362 Accepted:11372 Description You are assigned to design network connections...原创 2019-09-24 22:24:26 · 2535 阅读 · 0 评论 -
poj1251 Jungle Roads Kruskal算法+并查集
时限:1000MS 内存限制:10000K 提交总数:37001 接受:17398 描述热带岛屿拉格里山的首长有个问题。几年前,大量的外援花在了村庄之间的额外道路上。但是丛林不断地超越道路,因此庞大的道路网太昂贵而无法维护。老年人理事会必须选择停止维护一些道路。左上方的地图显示了目前正在使用的所有道路,以及每月维护这些道路的费用。当然,即使路...原创 2019-09-24 22:18:38 · 2677 阅读 · 0 评论 -
疯子的算法总结10--最小生成树Kruscal
按照权值排序可得,就有如下顺序:1. 1-2 12. 1-4 23. 1-5 24. 2-5 35. 2-3 46. 4-5 4每次选取最小边泉,判断是否同属一个集合,如果不属于同一集合,就把它加到左端点集合中,也就是说,两个点不属于一个集合说明这条边不在树中,即可将其加入左端点集合。下面我们模拟算法过程:每次,直接把每次找到的边找到,就可以了!...原创 2019-09-24 15:36:49 · 2665 阅读 · 0 评论 -
HDU-1857 畅通工程再续
畅通工程再续Problem Description相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不...原创 2019-09-24 00:02:27 · 2571 阅读 · 0 评论 -
HDU 1233 最小生成树模板题,练练模板
还是畅通工程Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 71235Accepted Submission(s): 32197Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两...原创 2019-09-23 21:17:01 · 2591 阅读 · 0 评论 -
HDU - 6187 (最大生成树) 最小生成树
Destroy WallsTime Limit: 8000/4000 MS (Java/Others)Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 1774Accepted Submission(s): 689Problem DescriptionLong times ago, th...原创 2019-09-19 22:13:12 · 2690 阅读 · 0 评论 -
2019.9.19最小生成树知识点总结
HDU1102ConstructingRoads(最小生成树-Prim) 最常见的,将已建成的路的权值设置为0,求最小生成树! HDU1162Eddy'spicture(最小生成树-Prim) 裸题,联系敲板子吧! POJ2560Freckles(最小生成树-Kruskal) 裸题 POJ2728DesertKing(0...原创 2019-09-19 19:48:26 · 2706 阅读 · 0 评论 -
2019.9.18最小生成树知识点总结
HDU 4081 Qin Shi Huang's National Road System(次小生成树-Kruskal) 博主的方法很好,但是有疑问,为什么不能将最多人口的两城市的距离设置为0,在进行Prim操作,求B呢?这个将在后续的刷题中体现。 POJ 2377 Bad Cowtractors(最大生成树-Kruskal) 裸题,可以用来熟悉算法。 HDU 6141 I...原创 2019-09-18 22:43:23 · 3243 阅读 · 1 评论 -
2019.9.17最小生成树知识点回顾
POJ 1797 Heavy Transportation(最大生成树-Prim) 最大生成树,方法模仿最小生成树,每次选最大边进行操作,即可。 HDU 5723 Abandoned country(最小生成树Kruskal+树形DP) 未解决等待树形DP,再回头来看这个题目。 HDU 5624 KK's Reconstruction(最小...原创 2019-09-17 22:41:00 · 2632 阅读 · 0 评论 -
疯子的算法总结(九) 图论中的矩阵应用 Part 2 矩阵树 基尔霍夫矩阵定理 生成树计数 Matrix-Tree
定理:1.设G为无向图,设矩阵D为图G的度矩阵,设C为图G的邻接矩阵。2.对于矩阵D,D[i][j]当 i!=j 时,是一条边,对于一条边而言无度可言为0,当i==j时表示一点,代表点i的度。即:3.对于矩阵C而言,C表示两点之间是否存在边,当i==j时为一点无边可言为0,即:4.定义基尔霍夫矩阵J为度数矩阵D-邻接矩阵C,即J=D-C;5.G图生成树的数量为任...原创 2019-08-18 11:01:34 · 2690 阅读 · 0 评论 -
CF思维联系–CodeForces - 225C. Barcode(二路动态规划)
DesciptionYou’ve got an n × m pixel picture. Each pixel can be white or black. Your task is to change the colors of as few pixels as possible to obtain a barcode picture.A picture is a barcode if th...原创 2020-02-28 00:55:21 · 2724 阅读 · 0 评论 -
最短路算法目录
疯子的算法总结(八) 最短路算法+模板 图论--(技巧)超级源点与超级汇点 最短路三大算法 最短路三大算法--Floyd —Warshall 最短路三大算法--Dijkstra 最短路三大算法--SPFA 关于SPFA Bellman-Ford 第K短路+严格第K短路 最短路径生成树计数+最短路径生...原创 2019-10-24 16:29:15 · 2573 阅读 · 0 评论 -
Extended Traffic LightOJ - 1074
Dhaka city is getting crowded and noisy day by day. Certain roads always remain blocked in congestion. In order to convince people avoid shortest routes, and hence the crowded roads, to reach destinat...原创 2019-10-18 18:55:28 · 2580 阅读 · 0 评论 -
最短路径生成树计数+最短路径生成树
最短路径生成树计数。我们应该先明白什么是最短路径生成树,不会戳这里。计数方法明显是要使用乘法原理计数,也就是说我们可以得出每一步的方案数再乘进答案中。接下来考虑如何的出每一步的方案数,所谓方案数也就是对于每一个D[i]D[i]D[i]可以从多少个D[j]D[j]D[j]转移过来,那么显然,比较大的距离只能从比较小的距离转移过来。所以我们可以先给DDD数组递增排序。 这样比iii小的都是有可...原创 2019-10-13 17:42:04 · 3094 阅读 · 0 评论 -
最短路径生成树与最小生成树
虽然放在一起,但是他们两个除了都是树之外没有一点关系。最短路径生成树,就是ROOT根节点到达任意点距离最短的路径所构成的树,就是最短路径生成树。我画两个图给大家理解。最短路径生成树最小生成树这时候大家会发现,最短路径生成树不就是求完最短路之后,路径所构成的树吗,其实就是这样的。但是这里要明白一点,最短路径生树不唯一。我们举一个最简单的例子,如下图:只选 2-3权值的边构成一颗最短路...原创 2019-10-13 17:52:09 · 3192 阅读 · 0 评论 -
信息奥赛一本通1486: CH 6202 黑暗城堡 最短路径生成树计数
1486:黑暗城堡【题目描述】知道黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度。城堡是树形的并且满足下面的条件:设 Di为如果所有的通道都被修建,第 i 号房间与第 1 号房间的最短路径长度;而 Si 为实际修建的树形城堡中第 i 号房间与第 1 号房间的路径长度;要求对于所有整数 i(1≤i≤N),有 Si=Di 成立。你想知道有多少种不同的城堡修建方案。当...原创 2019-10-13 16:34:57 · 2658 阅读 · 0 评论 -
第K短路+严格第K短路
所谓K短路,就是从s到t的第K短的路,第1短就是最短路。如何求第K短呢?有一种简单的方法是广度优先搜索,记录t出队列的次数,当t第k次出队列时,就是第k短路了。但点数过大时,入队列的节点过多,时间和空间复杂度都较高。A*是在搜索中常用的优化,一种启发式搜索。简单的说,它可以用公式表示为f(n) = g(n) + f(n),其中,f(n)是从s经由节点n到t的估价函数,g...原创 2019-10-12 21:18:37 · 3220 阅读 · 1 评论 -
The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
This is an era of team success, but also an era of heroes. Throughout the ages, there have been numerous examples of using the few to defeat the many. There areVV(Numbers11toVV) fire-fighting poi...原创 2019-09-10 21:01:51 · 2613 阅读 · 0 评论 -
关于SPFA Bellman-Ford Dijkstra Floyd BFS最短路的共同点与区别
关于模板什么的还有算法的具体介绍 戳我这里我们只做所有最短路的具体分析。那么同是求解最短路,这些算法到底有什么区别和联系:对于BFS来说,他没有松弛操作,他的理论思想是从每一点做树形便利,那么时间复杂度绝对是在大型图中难以接受的,所以BFS题目设计很精巧,数据限制,更重要的是他可以处理一些条件很麻烦的联通情况,比如在途中,每步长相同求到达某一地的时间,那么我们要用最短路,就需要建图,但是...原创 2019-09-03 09:16:58 · 2689 阅读 · 0 评论 -
2019 ICPC 银川网络赛 F-Moving On (卡Cache)
Firdaws and Fatinah are living in a country withnncities, numbered from11tonn. Each city has a risk of kidnapping or robbery.Firdaws's home locates in the cityuu, and Fatinah's home locates in...原创 2019-09-02 19:42:55 · 2607 阅读 · 0 评论 -
2019 ICPC 南京网络赛 H-Holy Grail
As the current heir of a wizarding family with a long history,unfortunately, you find yourself forced to participate in the cruel Holy Grail War which has a reincarnation of sixty years.However,fortun...原创 2019-09-02 19:11:36 · 2576 阅读 · 0 评论 -
疯子的算法总结(九) 图论中的矩阵应用 Part 1 POJ3613 Cow Relays
图的存储有邻接矩阵,那么他就具备一些矩阵的性质,设有一个图的demo[100][100];那么demo[M][N]就是M—>N的距离,若经过一次松弛操作demo[M][N]=demo[M][K]+demo[K][N],即为demo[M][N]经过了两条条边的最小距离,floyd是 demo[M][N]=Min(demo[M]...原创 2019-08-16 21:14:29 · 2542 阅读 · 0 评论 -
疯子的算法总结(八) 最短路算法+模板
Dijkstra:适用于权值为非负的图的单源最短路径,用斐波那契堆的复杂度O(E+VlgV)BellmanFord:适用于权值有负值的图的单源最短路径,并且能够检测负圈,复杂度O(VE)SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进入Queue的次数,且k一般<=2,但此处的复杂度证明是有问题的,其实SPFA的最坏情况应该是O(VE...原创 2019-08-14 09:41:00 · 2732 阅读 · 0 评论 -
POJ - 2387 Til the Cows Come Home (最短路入门)
Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wants to get b...原创 2019-08-12 16:31:12 · 2521 阅读 · 0 评论 -
P1522 牛的旅行 Cow Tours(floyd)
题目描述农民 John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通。这样,Farmer John就有多个牧场了。John想在牧场里添加一条路径(注意,恰好一条)。对这条路径有以下限制:一个牧场的直径就是牧场中最远的两个牧区的距离(本题中所提到的所有距离指的都是最短的距离)。考虑如下的有5个牧区的牧场...原创 2019-06-24 07:44:32 · 2525 阅读 · 0 评论 -
P1522 牛的旅行 Cow Tours(floyd)
题目描述农民 John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通。这样,Farmer John就有多个牧场了。John想在牧场里添加一条路径(注意,恰好一条)。对这条路径有以下限制:一个牧场的直径就是牧场中最远的两个牧区的距离(本题中所提到的所有距离指的都是最短的距离)。考虑如下的有5个牧区的牧场...原创 2019-10-13 23:38:21 · 2569 阅读 · 0 评论