
并查集
KLFTESPACE
这个作者很懒,什么都没留下…
展开
-
并查集模板
【代码】并查集模板。原创 2023-01-04 10:12:12 · 97 阅读 · 0 评论 -
1126 Eulerian Path (25分)
在输出的不一样的方法里学到了 printf("%d%c", len, " \n"[i==n]); 输出时的空格和换行 没搜到 我理解为将空格和换行符当成string类型字符串,没到末尾即i!=n,为0 若i==n 即为1 此外,这个题需要判断是否连通 欧拉: 欧拉通路: 通过图中每条边且只通过一次,并且经过每一顶点的通路。 欧拉回路: 通过图中每条边且只通过一次,...原创 2020-02-24 14:54:31 · 194 阅读 · 0 评论 -
1034 Head of a Gang (仅得24分)
求连通分量 1.dfs 2.并查集 用并查集的时候,因为接下来可能还会更新通话分钟数u,我又不想把对应的一类存储再进行判断......所以就在合并时进行判断操作,寻找最大的点(pre) 实时更新 只需要确保更新完后后续的也一并压入即可。 4 5测试点没过 暂时不清楚哪里遇到问题了 #include<iostream> #include<cstdio> #in...原创 2020-02-02 16:00:55 · 250 阅读 · 0 评论 -
历届试题 发现环
//蠢到自己了..... //n懒得传参...然鹅,我在main函数里,,将他自减为0了...调了好久,,还有就是表及问题...刚开始未进dfs时标记,dfs开头第一个判断是否拜访过,拜访过,则考虑邻接表下一个值....导致遇到环了 ,但是被标记,无法进入输出循环里........然后 改了下标记顺序,在递归前标记......递归后去掉标记 #include<iostream>...原创 2019-05-23 20:57:35 · 189 阅读 · 0 评论 -
历届试题 国王的烦恼
//N值不够大,会出现运行超时的现象 //路径未压缩,也会出现超时 //主要的思想是按天数从大到小排序,然后开始并查集运算,建立起连通性 #include<bits/stdc++.h> using namespace std; const int N = 100000; struct Node{ int u, v, day; bool operator <...原创 2019-04-08 13:07:48 · 177 阅读 · 0 评论 -
Constructing Roads POJ - 2421
//刚开始看错题了..看例子以为给你n行,每行意思为a, b之间的距离为dist.(有向).一直找不到自己错在哪 ,,, 然后....看了看别人的发现是无向....n*n位邻接矩阵............. #include<iostream> #include<cstdio> #include<queue> #include<cstring>...原创 2019-03-01 21:38:11 · 188 阅读 · 0 评论 -
How Many Answers Are Wrong
//在查询的时候 ,想dist在前面,递归在后面,WA,发现dist应该是从根部到叶子相加赋值,而不是叶子+父节点倒着到根。 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N = 200000+5; int pre[N], d...原创 2019-02-18 21:46:59 · 124 阅读 · 0 评论 -
食物链OpenJ_Bailian - 1182
//当init在n,k输入之后时不会有输出(在Clion和Qt上是这样的),不过提交了能AC #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N = 50000+5; int pre[N*3];//自己,吃 , 被吃 int ...原创 2019-02-18 17:43:15 · 172 阅读 · 0 评论 -
Wireless Network POJ - 2236
//读取C的时候没有!=EOF 会出现TLE的错误..... #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N = 10000+5; pair<int, int> a[N]; int pre[N], store[...原创 2019-02-18 12:03:01 · 134 阅读 · 0 评论 -
Is It A Tree? UVA - 615
#include <iostream> #include <cstdio> using namespace std; const int MAXN = 100000; int v[MAXN+1]; bool visited[MAXN+1]; int length = MAXN; bool nocircleflag; // 判断是否成环 int edgec...原创 2018-12-08 21:56:41 · 225 阅读 · 0 评论 -
畅通工程
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整...原创 2018-05-05 16:10:37 · 339 阅读 · 0 评论 -
并查集详解
转自飘过的小牛应该是Find 和 Union例子就是杭电上的畅通工程:http://acm.hdu.edu.cn/showproblem.php?pid=1232首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像...转载 2018-04-30 17:29:23 · 178 阅读 · 0 评论