E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
图论算法—并查集
(19)Go实现
并查集
并查集
Unionfind,用来表示网络节点之间是否连接的集合。这里的网络是一抽抽象的概念,不仅包括互联网,人与人形成的网络,道路之间形成的网络,迷宫网络等等。
哥斯拉啊啊啊哦
·
2020-09-21 09:28
【
并查集
】一种与时间赛跑的巧妙算法
【
并查集
】一种与时间赛跑的巧妙算法引入:(NOIP模拟题)极端寒冬(不要求刚刚接触
并查集
的读者完全明白本题)先了解一下
并查集
是个什么东西:合并两点所在集合和查找两点是否在同一集合的算法那有什么用处呢?
大国梦_小兔子
·
2020-09-20 13:00
并查集
(UnionFind)技巧总结
什么是
并查集
在计算机科学中,
并查集
是一种树型的数据结构,用于处理一些不交集(DisjointSets)的合并及查询问题。
大杂草
·
2020-09-18 13:00
Java实现Catenyms(
并查集
+dfs+欧拉回路)
DescriptionAcatenymisapairofwordsseparatedbyaperiodsuchthatthelastletterofthefirstwordisthesameasthelastletterofthesecond.Forexample,thefollowingarecatenyms:dog.gophergopher.ratrat.tigeraloha.alohaara
南 墙
·
2020-09-17 15:36
算法练习题
Java
Catenyms
并查集
DFS
欧拉回路
SGU 101 Domino(无向图的欧拉路径)
contest=0&problem=101本题即寻找无向图的欧拉路径无向图存在欧拉路径的条件:1.连通图:用
并查集
即可判断2.所有点的度数均为偶数或仅有两个点的度数为奇数AC代码:#include#include
Unin88
·
2020-09-17 15:10
欧拉回路与欧拉道路
最小生成树( 克鲁斯卡尔算法)
/*Name:Copyright:Author:Date:01-12-1420:17Description:最小生成树(克鲁斯卡尔算法)关于
并查集
的算法,参见《一种简单而有趣的数据结构——
并查集
》http
QiaoRuoZhuo
·
2020-09-17 15:51
图论
数据结构
常用算法分析
有向图中欧拉回路的求法
首先是欧拉回路的判断在无向图中的欧拉回路每个顶点的度都是偶数且图为连通图在判断连通性的时候可以使用
并查集
来判断图的连通性也可以使用dfs或bfs来判断不过运行速度会慢一点在有向图中欧拉回路每个顶点的入度等于出度且是连通的这里的连通指的是弱连通有向图的强连通性
hebastast
·
2020-09-17 15:36
图
无向图中欧拉回路的求法 poj1041
Poj1041John’strip就是无向图中欧拉回路的求法首先判断是否存在欧拉回路判断图的连通性利用
并查集
实现然互判断每个点的度数是否为偶数如果判断存在欧拉回路则利用dfs打印出欧拉回路#include
hebastast
·
2020-09-17 15:36
图
有向图的欧拉回路判定问题 poj1386
这个题先来判断图的连通性,用
并查集
的方法,值得注意的一点是
并查集
是以点为元素的,所以要开26长度的数组。在接下来就是判断出度和入度了。#in
AC_jie
·
2020-09-17 15:45
图论及其应用
图中的最小生成树——Kruskal算法
至于怎么合并到一个集合,那么这里我们就可以用到一个工具——-
并查集
。换而言之,Kruskal算法就是基于
并查集
的贪心算法。接下来以例子说明:忽略动态效果,这里只关注节点的连接关系。C
林三撇
·
2020-09-17 14:20
---------《数据结构》
贪心法
题解--图
畅通工程-
并查集
畅通工程续描述某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N(>n&&n){cin>>m;intsour,des,a,b,ans=0;f
赵小雨呀
·
2020-09-17 14:45
图算法
(tarjan+
并查集
离线求lca)
然后将询问离线,开始求lca,在dfs的时候同时更新
并查集
,就能求出当前位置下的已访问过的两个点的lca,两个点(a,b)的距离就是d[a]+d[b]-2*d[lca(a,b)];#include#include
xtttgo
·
2020-09-17 14:13
DFS
Deepest Root (25)【
并查集
+深搜】——PAT (Advanced Level) Practise
题目信息1021.DeepestRoot(25)时间限制1500ms内存限制65536kB代码长度限制16000BAgraphwhichisconnectedandacycliccanbeconsideredatree.Theheightofthetreedependsontheselectedroot.Nowyouaresupposedtofindtherootthatresultsinahig
闲云阁
·
2020-09-17 14:27
浙大PAT
浙大Pat
判断图的连通性
判断图的连通性判断图的连通性的方法有3种:
并查集
,DFS,BFS;
并查集
介绍:
并查集
,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并
@别样
·
2020-09-17 14:28
判断图的连通性
c语言
蓝桥杯 历届试题 PREV-7 连号区间数
并查集
历届试题连号区间数时间限制:1.0s内存限制:256.0MB问题描述小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L,R]里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了
china丶龙少
·
2020-09-17 13:25
蓝桥杯
龙少
蓝桥杯
历届试题
连号区间数
并查集
LeetCode--朋友圈(深度优先搜索+广度优先搜索+
并查集
)
朋友圈班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知A是B的朋友,B是C的朋友,那么我们可以认为A也是C的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N*N的矩阵M,表示班级中学生之间的朋友关系。如果M[i][j]=1,表示已知第i个和j个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例1:输入:[[1,1,0],[1,1,0],[0
@haikuotiankong
·
2020-09-17 13:21
#
LeetCode
dfs
#
LeetCode
bfs
深度优先搜索
广度优先搜索集
并查集
LeetCode
朋友圈
Untrusted Patrol bfs/dfs/
并查集
UntrustedPatrolTimeLimit:3SecondsMemoryLimit:65536KBEdwardisarichman.Heownsalargefactoryforhealthdrinkproduction.Asamatterofcourse,thereisalargewarehouseinthefactory.Toensurethesafetyofdrinks,Edwardhi
weixin_33958585
·
2020-09-17 13:21
HDU 5458 Stability(双连通分量+LCA+
并查集
+树状数组)(2015 ACM/ICPC Asia Regional Shenyang Online)...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5458ProblemDescriptionGivenanundirectedconnectedgraphGwithnnodesandmedges,withpossiblyrepeatededgesand/orloops.Thestabilityofconnectednessbetweennodeuand
superXX07
·
2020-09-17 13:25
php
求树的直径+
并查集
(bfs,dfs都可以)hdu4514
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4514这题主要是叫我们求出树的直径,在求树的直径之前要先判断一下有没有环树的直径指的就是一棵树上面距离最远的两点的距离,有时也可以指最远的两点之间的路径。至于树的直径怎么求,我们首先要知道一个结论,树上面随便取一点,离这一点最远的那个点一定是树的直径上面的两点中的一点证明的博客:https://www.
weixin_30797027
·
2020-09-17 13:25
php
ZOJ3811 - Untrusted Patrol(
并查集
或者 bfs dfs)
ZOJProblemSet-3811UntrustedPatrol题链:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3811题目大意是说给你一个图(无向)在其中几个节点上放一个监视器,它会记录你第一次经过它的时间,boss想验证保安是否能按照经过监视器的顺序遍历所有节点(监视器节点可以经过多次,但只记录一次)我的方法:1
CapybaraJ
·
2020-09-17 13:53
DFS/BFS
图初步
ZOJ
HDU - 1198Farm Irrigation (BFS|DFS|
并查集
)
FarmIrrigationTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):10263AcceptedSubmission(s):4512ProblemDescriptionBennyhasaspaciousfarmlandtoirrigate.Thefarmland
DrWells
·
2020-09-17 13:35
BFS
DFS
并查集
hdu1232 畅通工程(
并查集
)
畅通工程TimeLimit:4000/2000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):25590AcceptedSubmission(s):13377ProblemDescription某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省
高1024
·
2020-09-17 13:12
并查集
POJ1182 食物链【
并查集
】
食物链TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:72553Accepted:21542Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行
海岛Blog
·
2020-09-17 13:06
#
ICPC-备用二
#
ICPC-并查集与LCA
#
ICPC-POJ
hdu5458 LCA+
并查集
+dfs序+树状数组
神题,看着别人代码学习#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglongLL;typedefunsignedlonglongULL;#definerep(i,k,n)for(inti=(k);
窝嘞割草
·
2020-09-17 13:33
HDU1232 畅通工程(
并查集
)
题目:畅通工程TimeLimit:4000/2000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):49154AcceptedSubmission(s):26213ProblemDescription某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是
riba2534
·
2020-09-17 12:52
【并查集/欧拉路/最小生成树】
历届试题 连号区间数 (
并查集
)
/*历届试题连号区间数时间限制:1.0s内存限制:256.0MB问题描述小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L,R]里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简
海伦•
·
2020-09-17 12:25
蓝桥杯
历届试题
第十届蓝桥杯全国软件设计大赛
hdu 6280 LCA+
并查集
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6280#include#defineN5005usingnamespacestd;typedeflonglongll;constllmod=(ll)1e9+7;constintmaxn=5005;structnode{intto,next;}e[maxn=0;i--)if(dep[x]-(1=dep[y
余西子
·
2020-09-17 12:11
图论
HDU 1232 畅通工程 (
并查集
)
畅通工程ProblemDescription某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N(0;M--){scanf("%d%d"
Cloud97
·
2020-09-17 12:48
۩۩.._ACM
hdu1232
线段树:
并查集
缩点
(若未被染色则视为颜色0即无色)题解我们会发现一个点只会被最后一种颜色影响,所以我们从后往前更新,更新边的信息可以保存在下一个点上,最后
并查集
缩点即可
并查集
缩点我们可以把
并查集
的find()fi
没梦想的死宅
·
2020-09-17 12:45
并查集
CODEVS 1003
并查集
缩点+最小生成树
不过因为已经有了一些边,不能让它们影响到求最小生成树的过程,所以要把它们构成的每个连通分量缩成一个点,这样要用到
并查集
。具体做法是如果遇到road[i][j]==0,那么就把i,j并到一颗树中。
漠空
·
2020-09-17 12:27
HDU 1863 畅通工程
/*题目大意:给你评估的道路数和村庄数叫你求怎样安排才会使所用资金最少,而且道路全部畅通解题思路:有一点贪心在里面,先将所用的钱,按升序排一下序,之后再用
并查集
将没有相连的道路,将没有联通的路的资金加起来
淡定的小鱼
·
2020-09-17 12:13
并查集
贪心算法
经典例题及典型思想
好题
杭电
hdu4405(概率dp+
并查集
)
然后对跳跃情况就是用
并查集
维护,只能在跳转终点停留,所以只有对跳转终点i才有意义,所以在转移的时候得转移终点的d。。发现挺多概率题都是逆向转移的,以后做概率题的时候得多尝试尝试。。。
qkoqhh
·
2020-09-17 12:31
DP
并查集
hdu 6109 数据分割
并查集
缩点建边
数据分割TimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):476AcceptedSubmission(s):103ProblemDescription小w来到百度之星的赛场上,准备开始实现一个程序自动分析系统。这个程序接受一些形如xi=xj或xi≠xj的相等/不等约束条
overload1997
·
2020-09-17 12:38
并查集
畅通工程/还是畅通工程HDU1232_HDU1233
每个测试用例的第1行给出两个正整数,分别是城镇数目N(//
并查集
,找分支数i
Raise
·
2020-09-17 12:00
C++
算法分析与设计
ACM
风险度量(广搜,
并查集
)
标题:风险度量X星系的的防卫体系包含n个空间站。这n个空间站间有m条通信链路,构成通信网。两个空间站间可能直接通信,也可能通过其它空间站中转。对于两个站点x和y(x!=y),如果能找到一个站点z,使得:当z被破坏后,x和y无法通信,则称z为关于x,y的关键站点。显然,对于给定的两个站点,关于它们的关键点的个数越多,通信风险越大。你的任务是:已知网络结构,求两站点之间的通信风险度,即:它们之间的关键
hg_zhh0427
·
2020-09-17 11:12
POJ 1838 Banana (
并查集
)
BananaTimeLimit:1000MSMemoryLimit:30000KTotalSubmissions:2032Accepted:755DescriptionConsideratropicalforrest,representedasamatrix.Thecellfromtherighttopcornerofthematrixhasthecoordinates(1,1),andtheco
deqip44248
·
2020-09-17 11:24
hdu1231
并查集
模板题
这里整合了
并查集
的模板,也有一些
并查集
的说明:http://blog.csdn.net/coder_panyy/article/details/528149870ms代码:#include#include
panyyer
·
2020-09-17 11:59
acm/icpc
并查集
问题--source acm1232
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N(#include#includeusingnamespacestd;intmain(){in
冰的影子
·
2020-09-17 11:01
GYM 101173 H.Hangar Hurdles(
并查集
+bfs+dfs)
Description一个n*n的地图,#不能走,.可以走,q次查询,每次问从起点到终点最大能容多大的正方形(以起点为中心)过去,期间这个正方形不能碰到#也不能越界,如果不可达则输出0Input第一行一整数n表示地图规模,之后一个n*n矩阵表示该地图,然后输入查询数q,最后q行每行两个整数sx,sy,ex,ey表示起点和终点的横纵坐标(2v这一条边表示u和v可达,u点边长小于v点边长且u是v往四周
v5zsq
·
2020-09-17 11:00
GYM
搜索
并查集
HDU 6109 数据分割(
并查集
+缩点)
数据分割TimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):976AcceptedSubmission(s):218ProblemDescription小w来到百度之星的赛场上,准备开始实现一个程序自动分析系统。这个程序接受一些形如xi=xj或xi≠xj的相等/不等约束条
TJU_Tahara
·
2020-09-17 11:52
并查集
并查集
入门经典题:畅通工程
ProblemDescription某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N(<1000)和道路数目M;随后的M行对应M条道
白学家Lynn
·
2020-09-17 10:10
java
算法
HDU6074(LCA+
并查集
)
题意:给出若干条电话线,询问可以最多连几个房子,最小代价题解:不难发现这个过程就是Prim算法求最小生成树的过程,用Kruskal算法同样正确。将所有线路按代价从小到大排序,对于每条线路(a,b,c,d)(a,b,c,d),首先把a到b路径上的点都合并到LCA,再把c到d路径上的点都合并到LCA,最后再把两个LCA合并即可。设same[i]表示i点往上深度最大的一个和i在同一个连通块的祖先,每次沿
ME495
·
2020-09-17 10:39
LCA
并查集
并查集
(集合合并) + 缩点
正解是dfs的一道题目被我以为成了
并查集
,结果坑了队友。现在分析一下自己当时为什么会想成是
并查集
呢。
LYU0820
·
2020-09-17 10:31
数据结构与算法
HDU - 1272 小希的迷宫(看似
并查集
的水题)
pid=1272题意:中文题0.0思路:这道题是在
并查集
专题里卖弄找到的,但是一看题目就是要求图中有没有环,那么直接判断边数是否等于点数-1就行了。
LLL_yx
·
2020-09-17 10:01
水题
HDU2586【LCA在线算法】
思路:在一棵树上,dis[index]代表root到index的距离,u,v的最短距离那不就是:dis[u]+dis[v]-2*dis[LCA(u,v)];然后这边可能有多棵树,先利用
并查集
并一下,然后拿结点
keyboarder_zsq
·
2020-09-17 10:54
LCA
hdu 1181 (搜索BFS,深搜DFS,
并查集
)
点击打开链接刚开始RE了好几次;#include"stdio.h"#include"string.h"#include"queue"usingnamespacestd;intf;intmark[26];intmap[26][26];voidbfs(inta){queueQ;inti,t;t=a;Q.push(t);mark[t]=1;while(!Q.empty()){t=Q.front();Q.
slege
·
2020-09-17 10:55
搜索
并查集
hdu2586(LCA 用
并查集
+DFS实现)
ViewCode#include#defineMAXN40010usingnamespacestd;structGraph{intvex,next,dis;};Graphg[MAXN*2],Q[400];intfirst[MAXN],head[MAXN],set[MAXN],away[MAXN],n,m;boolvisited[MAXN];//first[v]用来查找节点所在边,即g[first[
weixin_30576827
·
2020-09-17 10:34
【贪心】畅通工程系列2-HDU1232 畅通工程
算法算法核心根据已有道路构建
并查集
,最后计算出连通分支数-1即可。算法流程首先将所有结点的根结点初始化为本身,然后每输入一条边,就看两个顶点是否在同一个连通分支中,即用find
vxiao_shen_longv
·
2020-09-17 10:57
算法
贪心
HDU
图论
畅通工程
hdu1181变形课dfs/bfs/
并查集
三种解法(java)
题目链接ProblemDescription呃…变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个
Big sai
·
2020-09-17 10:28
#
dfs
#
bfs
#
并查集
Hdu1829
并查集
+广度优先搜索
....WA了我N次........题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1829题目大意是这样:给你多组"bug"和"bug"之间的关系(我理解为交配关系...),让你查看这些"bug"里面有没有同性恋.好吧还是用测试数据来解释吧.233122313421234先看红色的测试数据:有三个"bug"其中1---22----31---3有关系,
_夏日阳光
·
2020-09-17 10:53
acm
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他