信息传递
Posted 123456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息传递相关的知识,希望对你有一定的参考价值。
原先t了很长时间,今天复习了下tarjan,打了一遍,自认为自己的tarjan模板简洁 这道题只有基环树,所以tarjan就可以了
#include<iostream> #include<stack> #include<cstdio> using namespace std; int n,cnt=-1,ans=1<<29,time; stack<int>s; int head[400010],Next[400010],to[400010],dfn[200010],low[200010]; inline int max(int x,int y) { return x>y?x:y; } inline int min(int x,int y) { return x<y?x:y; } inline void insert(int u,int v) { Next[++cnt]=head[u]; head[u]=cnt; to[cnt]=v; } void tarjan(int u) { dfn[u]=low[u]=++time; s.push(u); for(int i=head[u];i;i=Next[i]) { int v=to[i]; if(!dfn[v]) { tarjan(v); } low[u]=min(low[u],low[v]); } if(dfn[u]==low[u]) { int MAX=0; while(s.top()!=u) { s.pop(); MAX++; } MAX++; s.pop(); if(MAX!=1) ans=min(MAX,ans); } } int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { int u;scanf("%d",&u); insert(i,u); } for(int i=1;i<=n;i++) { if(!dfn[i]) tarjan(i); } printf("%d\n",ans); return 0; }
以上是关于信息传递的主要内容,如果未能解决你的问题,请参考以下文章
在 NavigationUI 的同一主机活动上传递数据并更新片段文本/按钮
为啥我的 C 代码片段不起作用?简化版可以。为 unsigned long long 传递不带 VA_ARGS 的 args