
数据结构题
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 · 135 阅读 · 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 · 161 阅读 · 0 评论 -
AcWing 1250. 格子游戏 并查集模板题
题参考并查集常用一维,所以对于坐标(x,y),转换为x*n+y,xy都要从0开始。其实就是3x3的转换为:0 1 23 4 56 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 · 1349 阅读 · 0 评论