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(并查集)相关推荐

  1. BZOJ 1529: [POI2005]ska Piggy banks( 并查集 )

    每一连通块砸开一个就可以拿到所有的钱, 所以用并查集求连通块数 ------------------------------------------------------------------- ...

  2. Taran 缩点【bzoj1529】[POI2005]ska Piggy banks

    [bzoj1529][POI2005]ska Piggy banks Description Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个 ...

  3. [bzoj1529][POI2005]ska Piggy banks 大水题

    1529: [POI2005]ska Piggy banks Time Limit: 5 Sec  Memory Limit: 64 MB [Submit][Status][Discuss] Desc ...

  4. bzoj1529: [POI2005]ska Piggy banks

    Description Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于 ...

  5. P3420 [POI2005]SKA-Piggy Banks 并查集

    Byteazar the Dragon拥有N个小猪存钱罐.每一个存钱罐能够用相应的钥匙打开或者被砸开.Byteazar已经将钥匙放入到一些存钱罐中.现在已知每个钥匙所在的存钱罐,Byteazar想要买 ...

  6. #110-【我也不知道这是什么鬼算法】Ska Piggy Banks

    Description Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于 ...

  7. BZOJ1529ska Piggy banks

    1529: [POI2005]ska Piggy banks Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1065 Solved: 496 Descri ...

  8. 洛谷·[POI2005]SKA-Piggy Banks 小猪存钱罐【Tarjan 并查集

    初见安~这里是传送门:洛谷P3420 题目描述3 Byteazar the Dragon has NN piggy banks. Each piggy bank can either be opene ...

  9. [Poi0504]Piggy Banks小猪存钱罐 (并查集)

    Byteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于是要把所有的钱都取出来. ...

最新文章

  1. 360数科发布2020全年财报:全年收入上涨47.1%,科技为运营效率提供第一动力
  2. 10篇论文带你入门深度学习图像分类(附下载)
  3. cephfs linux kernel client针对superblock操作流程的分析
  4. 为什么忘记commit也会造成select查询的性能问题
  5. SmartQuery WebPart 2.0 发布。
  6. DCMTK:将XML文档转换为DICOM文件或数据集
  7. Enable trace in Resale Order application
  8. 苹果cms模板_苹果cms是什么东西?
  9. C++中 * *的用法与区别----实操才能看明白
  10. lnmp环境配置laravel项目白屏问题
  11. CDH-5.9.2整合spark2
  12. Mac版的DjVu格式文件阅读工具
  13. 大学计算机基础流媒体,大学计算机基础经典课件.ppt
  14. 星星之火-49:5G 移动边缘计算MEC快览
  15. 内Sane外Win:敏捷需要一流的项目经理
  16. 常用英语后缀和全部英语后缀——190个
  17. 网络管理-Pageadmin CMS构建企业网站的方法
  18. 移动开发需要关心的热门技术(1)
  19. 分享一个强大的网盘搜索平台-猪猪盘
  20. Milvus 2.1 版本更新 - 简单可信赖、性能持续提升

热门文章

  1. ubuntu18.0.4安装pip3及虚拟环境virtualenv详细教程
  2. Cmder代替cmd,效率不止一点点
  3. 苹果手机怎么把中文翻译英文
  4. Emscripten 安装 亲测有效
  5. es6中类的使用、及其转es5源码解析
  6. 蘑菇云【行空板Python入门教程】第四课:模拟星空
  7. 【ElasticSearch系列】ES插件安装
  8. 流式凋亡率计算_Annexin V流式检测细胞凋亡的数据分析方法
  9. Arduino Uno + 光耦继电器 弱电控制强电 实验
  10. 【转】手机软件商店(wiki)