BZOJ_P1529 [POI2005]ska Piggy banks(并查集)
BZOJ传送门
Time Limit: 5 Sec Memory Limit: 64 MB
Submit: 1062 Solved: 494
[Submit][Status][Discuss]
Description
Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于是要把所有的钱都取出来. 他想尽量少的打破存钱罐取出所有的钱,问最少要打破多少个存钱罐.
Input
第一行一个整数 N (1 <= N <= 1.000.000) – 表示存钱罐的总数. 接下来每行一个整数,第 i+1行的整数代表第i个存钱罐的钥匙放置的存钱罐编号.
Output
一个整数表示最少打破多少个存钱罐.
Sample Input
4
2
1
2
4
Sample Output
2
In the foregoing example piggy banks 1 and 4 have to be smashed.
HINT
Source
Sol:无脑并查集
#include<cstdio>
#define N 1000005
inline int in(int x=0,char ch=getchar()){while(ch>'9'||ch<'0') ch=getchar();while(ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x;}
int n,x,f1,f2,ans;int f[N];
int find(int x){return x==f[x]?x:f[x]=find(f[x]);}
int main(){n=in();for(int i=1;i<=n;i++) f[i]=i;for(int i=1;i<=n;i++) x=in(),f1=find(x),f2=find(i),f[f1]=f2;for(int i=1;i<=n;i++) ans+=f[i]==i;printf("%d\n",ans);return 0;
}
BZOJ_P1529 [POI2005]ska Piggy banks(并查集)相关推荐
- BZOJ 1529: [POI2005]ska Piggy banks( 并查集 )
每一连通块砸开一个就可以拿到所有的钱, 所以用并查集求连通块数 ------------------------------------------------------------------- ...
- Taran 缩点【bzoj1529】[POI2005]ska Piggy banks
[bzoj1529][POI2005]ska Piggy banks Description Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个 ...
- [bzoj1529][POI2005]ska Piggy banks 大水题
1529: [POI2005]ska Piggy banks Time Limit: 5 Sec Memory Limit: 64 MB [Submit][Status][Discuss] Desc ...
- bzoj1529: [POI2005]ska Piggy banks
Description Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于 ...
- P3420 [POI2005]SKA-Piggy Banks 并查集
Byteazar the Dragon拥有N个小猪存钱罐.每一个存钱罐能够用相应的钥匙打开或者被砸开.Byteazar已经将钥匙放入到一些存钱罐中.现在已知每个钥匙所在的存钱罐,Byteazar想要买 ...
- #110-【我也不知道这是什么鬼算法】Ska Piggy Banks
Description Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于 ...
- BZOJ1529ska Piggy banks
1529: [POI2005]ska Piggy banks Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1065 Solved: 496 Descri ...
- 洛谷·[POI2005]SKA-Piggy Banks 小猪存钱罐【Tarjan 并查集
初见安~这里是传送门:洛谷P3420 题目描述3 Byteazar the Dragon has NN piggy banks. Each piggy bank can either be opene ...
- [Poi0504]Piggy Banks小猪存钱罐 (并查集)
Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于是要把所有的钱都取出来. ...
最新文章
- 360数科发布2020全年财报:全年收入上涨47.1%,科技为运营效率提供第一动力
- 10篇论文带你入门深度学习图像分类(附下载)
- cephfs linux kernel client针对superblock操作流程的分析
- 为什么忘记commit也会造成select查询的性能问题
- SmartQuery WebPart 2.0 发布。
- DCMTK:将XML文档转换为DICOM文件或数据集
- Enable trace in Resale Order application
- 苹果cms模板_苹果cms是什么东西?
- C++中 * *的用法与区别----实操才能看明白
- lnmp环境配置laravel项目白屏问题
- CDH-5.9.2整合spark2
- Mac版的DjVu格式文件阅读工具
- 大学计算机基础流媒体,大学计算机基础经典课件.ppt
- 星星之火-49:5G 移动边缘计算MEC快览
- 内Sane外Win:敏捷需要一流的项目经理
- 常用英语后缀和全部英语后缀——190个
- 网络管理-Pageadmin CMS构建企业网站的方法
- 移动开发需要关心的热门技术(1)
- 分享一个强大的网盘搜索平台-猪猪盘
- Milvus 2.1 版本更新 - 简单可信赖、性能持续提升