【noip 2015】信息传递 dfs
来源:互联网 发布:c语言进阶书籍 编辑:程序博客网 时间:2024/04/20 13:17
额,好水啊,有人说用tarjan但我觉得用tarjan都多余了 ,直接维护一个标记dfn:0表示没有进栈 1表示在栈中 2表示已经出栈,然后每一次dfs的时候发现如果回到了祖先就说明出现了环,找一个最小环就好了
可是我后来试了一下只有标记在栈中没有标记出栈 居然过了9组,数据有点水啊
#include<cstdio>#include<cstring>#include<iostream>#define maxn 200020using namespace std;int n,head[maxn],tot,dfn[maxn],cnt,hi[maxn],Min;struct edge{int v,next;}e[maxn*2];void adde(int a,int b){e[tot].v=b,e[tot].next=head[a];head[a]=tot++;}void dfs(int u,int h){hi[u]=h;dfn[u]=1;for(int i=head[u];i!=-1;i=e[i].next){int v=e[i].v;if(!dfn[v])dfs(v,h+1);else if(hi[v]<hi[u]&&dfn[v]==1)Min=min(Min,hi[u]-hi[v]+1);}dfn[u]=2;}int main(){memset(head,-1,sizeof(head));scanf("%d",&n);for(int x,i=1;i<=n;i++){scanf("%d",&x);adde(i,x);}int ans=1e9;for(int i=1;i<=n;i++)if(!dfn[i]){Min=1e9;dfs(i,1);ans=min(ans,Min);}printf("%d",ans);return 0;}
0 0
- 【noip 2015】信息传递 dfs
- NOIP 2015 信息传递
- NOIP 2015 信息传递
- noip 2015 信息传递
- 【noip 2015】信息传递
- 【noip 2015】信息传递
- NOIP 2015 d1t2 信息传递
- 【NOIP 2015 Day1 T2】信息传递(dfs || 拓扑排序 || Tarjan)
- Noip 2015 D1T2 信息传递(求最小环,dfs+时间戳)
- NOIP 2015 D1 T2 信息传递
- 【NOIP 2015】 D1 T2 信息传递
- 【NOIP2015】信息传递 dfs
- 2015 NOIP day2 t2 信息传递 (tarjan 连通图)
- [NOIP 2015]Day.1 T2 信息传递 【最小环】
- 【题解】NOIP 2015 信息传递(tarjan 强连通分量)
- Noip提高组2015 Day1 T2 信息传递 tarjan
- 【NOIp 2015】【DFS】斗地主
- SSL2505 2015年NOIP提高组试题 信息传递(并查集,最小环)
- 第3章 里氏替换原则(LSP)
- java小白笔记--XML
- Python爬虫学习
- android 小知识点
- Ubuntu Server 16.04.1 LTS 使用手记
- 【noip 2015】信息传递 dfs
- Unity 解决UI点击穿透问题
- 多选框jquery选择
- Scala:类,对象和特征(接口)
- 虚拟内存和物理内存的概念
- linux套接字概念
- ecshop数据库表17(ecs_auto_manage)自动管理表
- 绪论-第1章-《数据结构题集》-整理
- 如何做好移动互联网产品设计与创新