JZOJsenior4324.【NOIP2015提高组Day1】信息传递
来源:互联网 发布:commvault恢复sql 编辑:程序博客网 时间:2024/05/17 10:56
problem
Description
Input
Output
Sample Input
5
2 4 2 3 1
Sample Output
3
Data Constraint
analysis
明显,题目是要我们找一个最大环,输出最大环的大小即可
那么我们枚举从
- 若是这条路径上的点,那么更新答案return(dfs多带一个参数)
- 若不是这条路径上的点,直接return
每个点只会被遍历一次,那么时间复杂度就是
code
#include<cstdio>#include<cstring>using namespace std;int next[200001],bz[200001],deep[200001];int n,ans;int min(int x,int y){ return x<y?x:y;}void dfs(int x,int y,int z){ if (bz[x]) { if (bz[x]==y) { ans=min(ans,z-deep[x]); return; } else return; } else { bz[x]=y; deep[x]=z; dfs(next[x],y,z+1); }}int main(){ freopen("message.in","r",stdin); freopen("message.out","w",stdout); scanf("%d",&n); for (int i=1;i<=n;i++) { scanf("%d",&next[i]); } ans=0xfffffff; for (int i=1;i<=n;i++) if (!bz[i]) { dfs(i,i,1); } printf("%d\n",ans); return 0;}
阅读全文
0 0
- JZOJsenior4324.【NOIP2015提高组Day1】信息传递
- NOIP2015 提高组 day1 信息传递
- 【NOIP2015提高组Day1】信息传递
- NOIP2015 提高组 day1 信息传递
- 信息传递 NOIP2015 提高组 Day1 T2
- NOIP2015提高组day1 —— 信息传递(message)
- NOIP2015 提高组 复赛 day1 message 信息传递
- NOIp2015 提高组 信息传递
- NOIP2015提高组 信息传递
- C++&Pascal——NOIP2015提高组day1 t2——信息传递
- NOIP2015提高组Day1
- [NOIP2015]Day1 T2 信息传递
- NOIP2015提高组 信息传递(图论)
- 信息传递(NOIP2015提高组Day1T2)
- NOIP2015复赛提高组day1(A:神奇的幻方 B:信息传递 C:斗地主)
- {小结}NOIP2015提高组Day1
- NOIP2015提高组Day1 Message
- codevs 4511 信息传递(NOIP2015 day1 T2)
- Java内存模型——JMM
- [c++]--c++后台面试总结干货
- Android 8.0新特性及开发指南
- 数据结构之霍夫曼树
- Opencv--<Vec3b>
- JZOJsenior4324.【NOIP2015提高组Day1】信息传递
- Ubuntu下NFS配置
- jquery如何获取checkbox选中值
- 讲一讲测试环境的设置对接口测试的重要性
- 视频直播流程以及ffmpeg编解码流程
- 用Shell实现双色球 随机生成篮球 红球的脚本.
- python中浮点数尾部无效0去掉和无效的‘.’号
- [Kubernetes] CentOS 7 离线安装 Kubernetes 1.7.6 教程
- Java对象实例化过程