
数据结构题
karshey
平平无奇打工人。
展开
-
AcWing 238. 银河英雄传说 并查集模板题
题 参考 #include<bits/stdc++.h> using namespace std; #define fir(i,a,n) for(int i=a;i<=n;i++) //====================== const int N=3e4+10; int fa[N],cnt[N],dis[N];//dis[i]表示第i个到头的距离 int find(int x)//找根的同时维护dis数组 { if(fa[x]!=x) { int root=find(f原创 2021-10-29 19:22:49 · 140 阅读 · 0 评论 -
AcWing 837. 连通块中点的数量 并查集模板题
题 注意根节点不一样才合并,否则size会重复相加。 注意size要加在根节点上。 #include<bits/stdc++.h> using namespace std; #define fir(i,a,n) for(int i=a;i<=n;i++) //====================== const int N=1e5+10; int n,m; int fa[N],cnt[N];//cnt要在根节点 int find(int x) { if(fa[x]!=x) fa[原创 2021-10-29 16:44:08 · 167 阅读 · 0 评论 -
AcWing 1250. 格子游戏 并查集模板题
题 参考 并查集常用一维,所以对于坐标(x,y),转换为x*n+y,xy都要从0开始。 其实就是3x3的转换为: 0 1 2 3 4 5 6 7 8 这种。 #include<bits/stdc++.h> using namespace std; #define fir(i,a,n) for(int i=a;i<=n;i++) //====================== const int N=40005; int n,m; int fa[N]; int Get(int x,int原创 2021-10-29 15:15:23 · 1353 阅读 · 0 评论