ds 12.3 箱子里的木块
来源:互联网 发布:中国历代疆域图软件 编辑:程序博客网 时间:2024/05/05 23:38
/***************Problem from :dsProblem describe: deal-way: 暴力解会超时这题使用公式 : size - dis - 1 集合总和-当前点到达首元素的距离-本身 = 当前点底下的点的总数 使用并查集算法实现 data:2016.12.4****************/#include<iostream>#include<cstdlib>#include<cstdio>#include<algorithm>#include<cmath>#include<map>#include<stack>#include<queue>#include<ctime>#include<cstring>#include<vector>#include<string>#define ll __int64#define inf 0x3f3f3f3f3fusing namespace std;int Fa[30005], size[30005];int dis[30005];void init(int n) //初始化各数据 {for(int i=1; i<n+4; i++){Fa[i]=i;dis[i]=0;size[i]=1;}return ;}int Find(int x){if( Fa[x] == x ) return x;else{int t=Fa[x]; Fa[x] = Find(Fa[x]); //继续递归查找 dis[x] += dis[t];//更新该点到达原元素的距离 }return Fa[x];}void UnitSet(int x, int y){int x_Fa = Find(x);int y_Fa = Find(y);if(x_Fa == y_Fa) return ;Fa[y_Fa] = x_Fa;//合并 集合dis[y_Fa] = size[x_Fa]; //被吞并的集合的首元素到达整合后的集合的首元素等于原先集合的大小 size[x_Fa] += size[y_Fa];//更新合并后的集合的size return ;}int main(){// freopen("in.txt","r",stdin);// freopen("out.txt","w",stdout);int i, n, T, ans=0, x, y;char c;scanf("%d %d", &n, &T);init(n);while(T--){scanf(" %c", &c);if(c=='M'){scanf("%d %d", &x, &y);UnitSet(x, y);}else if(c=='C'){scanf("%d", &x);int x_fa = Find(x);printf("%d\n", (size[x_fa] - dis[x]-1));}}return 0;}
0 0
- ds 12.3 箱子里的木块
- POJ1017 __Packets——放木块的箱子数
- 3ds max sdk里的 INode
- 1000个苹果放到10个相同的箱子里(不可以有空箱子) 有多少种方法
- 两个箱子里东西若完全一样则合并,否则分开的一个算法
- 一个箱子的推箱子算法
- 3ds Max里的sub-object的selection , scale ,rotate,move
- P2784 木块问题 本该用vector的.....
- 实战:从3DS MAX7.0 里导出Torque游戏引擎专用的.dts模型文件-系列1(DTS from 3DS MAX7.0 -1)
- 实战:从3DS MAX7.0 里导出Torque游戏引擎专用的.dts模型文件-系列1(DTS from 3DS MAX7.0 -1)
- DS的重要性
- *.3ds的文件格式
- DS 的意义
- equinox的DS
- DS-5的版本
- DS 单链表的实现
- DS 双链表的实现
- ds
- OkHttp网络请求数据的封装
- C/C++语言编程之斐波拉契数列
- Inteil idea main函数和System.out.println()快捷键
- lua开源测试框架busted源码学习(二)--代码框架分析和用例执行流程
- MongDB java 操作
- ds 12.3 箱子里的木块
- 二、数据库系统结构
- zeromq客户端服务器hello world
- HDU 3549 Flow Problem (最大流)
- 一个简单的rpc框架的实现
- STL空间配置策略之第一级配置器__malloc_alloc_template
- 使用SyncNavigator实现数据库异地同步。
- 奇异值分解及几何意义
- 数据结构学习总结