博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P2611 信息传递
阅读量:4971 次
发布时间:2019-06-12

本文共 763 字,大约阅读时间需要 2 分钟。

并查集裸题,记录每个点的胜读,取个min就好了

#include
#include
#include
using namespace std;int fa[200007],dep[200007],n,x,a,mn=1e9+7;template
void read(T &x){ int f=0;x=0;char ch=getchar(); while(ch<'0'||ch>'9') {f|=(ch=='-');ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();} x=f?-x:x;}int find(int x){ if(fa[x]!=x) {int t=fa[x];fa[x]=find(fa[x]);dep[x]+=dep[t];} return fa[x];}void yhh(int a,int b){ int x=find(a),y=find(b); if(x!=y) fa[x]=y,dep[a]=dep[b]+1; else mn=min(mn,dep[a]+dep[b]+1);}int main(){ read(n); for(int i=1;i<=n;++i) fa[i]=i; for(int i=1;i<=n;++i) read(x),yhh(i,x); printf("%d",mn); return 0;}

  

转载于:https://www.cnblogs.com/Peper/p/9563134.html

你可能感兴趣的文章
洛谷 [P3033] 牛的障碍
查看>>
centos iptables
查看>>
unity3d 移动与旋转 2
查看>>
寻找二叉查找树中比指定值小的所有节点中最大的那个节点
查看>>
如何设置输入框达到只读效果
查看>>
RT3070 USB WIFI 在连接socket编程过程中问题总结
查看>>
MIS外汇平台荣获“2013年全球最佳STP外汇交易商”
查看>>
LeetCode 题解之Add Digits
查看>>
hdu1502 , Regular Words, dp,高精度加法
查看>>
20120227_CET6
查看>>
SpringBoot在idea中的热部署配置
查看>>
MyEclipse连接SQL Server 2008数据库的操作方法
查看>>
leetcode【67】-Bulb Switcher
查看>>
JS验证图片格式和大小并预览
查看>>
laravel5.2 移植到新服务器上除了“/”路由 ,其它路由对应的页面显示报404错误(Object not found!)———新装的LAMP没有加载Rewrite模块...
查看>>
编写高质量代码--改善python程序的建议(六)
查看>>
windows xp 中的administrator帐户不在用户登录内怎么解决?
查看>>
接口和抽象类有什么区别
查看>>
Codeforces Round #206 (Div. 2)
查看>>
Mycat分表分库
查看>>