POJ1988基本的并查集
来源:互联网 发布:知不足,然后能自反也 编辑:程序博客网 时间:2024/04/29 09:06
#include <iostream>#include <cstdio>using namespace std;static const int MAX = 31000;static int par[MAX];static int sum[MAX];//砖块i所在堆的砖块数目static int under[MAX];//表示i下面有多少个砖块static int GetParent(int a){if (par[a]==a) return a;int t = GetParent(par[a]);under[a] +=under[par[a]];//路径压缩后更新par[a] = t;return par[a];}static void Merge(int a,int b){int n;int pa = GetParent(a);int pb = GetParent(b);if (pa==pb) return;par[pb] = pa;under[pb] = sum[pa];//under[pb] 赋值前一定是0,因为parent[pb] = pb,pb一定是原b所在堆最底下的sum[pa] +=sum[pb];//根引出来的有多少个结点}int main(){int p;for (int i=0;i<MAX;++i){sum[i] = 1;under[i] = 0;par[i] = i;}scanf("%d",&p);for (int i=0;i<p;++i){char s[20];int a,b;scanf("%s",s);if (s[0]=='M'){scanf("%d%d",&a,&b);Merge(b,a);}else{scanf("%d",&a);GetParent(a);printf("%d\n",under[a]);}}return 0;}
0 0
- POJ1988基本的并查集
- 并查集(POJ1988)
- POJ1988->并查集
- POJ1988并查集
- POJ1988(并查集)
- POJ1988 并查集(3)
- Cube Stacking POJ1988 【并查集的应用】
- POJ1988 Cube Stacking(并查集的应用)
- poj1988——并查集
- POJ1988 Cube Stacking [并查集]
- poj1988&&hdu2818 带权并查集
- poj1988 权值并查集
- poj1988(种类并查集)
- POJ1988 CubeStacking (并查集)
- POJ1988 - Cube Stacking - 并查集
- 并查集+路径压缩(poj1988)
- poj1988 并查集+路径压缩
- poj1988 Cube Stacking 并查集
- UVA 12897 Decoding Baby Boos
- django 1.8 官方文档翻译: 2-6-4 数据库访问优化
- 浅谈tomcat的配置及数据库连接池的配置
- JS判断对象是否存在的10种方法
- android5.0 Activity transition
- POJ1988基本的并查集
- 一种排序《长方形》
- 模拟器报Installation error: INSTALL_FAILED_CONTAINER_ERROR解决方法
- 网络协议小结
- jquery基础认识
- Ajax技术的优缺点
- 容器使用笔记(List篇)
- nodejs async 库使用
- Linux 中多个namespace的情况下,查看对应的namespace下面的路由信息