zoukankan      html  css  js  c++  java
  • 洛谷 P2661 信息传递 题解

    每日一题 day3 打卡

    Analysis

    用并查集求最小环,用cnt记录最小环的长度。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #define maxn 200010
     6 #define INF 2147483647/2-1
     7 using namespace std;
     8 inline int read()
     9 {
    10     int x=0;
    11     bool f=1;
    12     char c=getchar();
    13     for(; !isdigit(c); c=getchar()) if(c=='-') f=0;
    14     for(; isdigit(c); c=getchar()) x=(x<<3)+(x<<1)+c-'0';
    15     if(f) return x;
    16     return 0-x;
    17 }
    18 inline void write(int x)
    19 {
    20     if(x<0){putchar('-');x=-x;}
    21     if(x>9)write(x/10);
    22     putchar(x%10+'0');
    23 }
    24 int n,ans=INF;
    25 int prt[maxn];
    26 inline int find(int x,int &cnt)
    27 {
    28     cnt++;
    29     if(prt[x]==x) return x;
    30     else return find(prt[x],cnt);
    31 }
    32 int main()
    33 {
    34     n=read();
    35     for(int i=1;i<=maxn;i++) prt[i]=i;
    36     for(int i=1;i<=n;i++)
    37     {
    38         int T,cnt=0;
    39         T=read();
    40         if(find(T,cnt)==i) ans=min(ans,cnt);
    41         else prt[i]=T;
    42     }
    43     write(ans);
    44     return 0;
    45 } 

    请各位大佬斧正(反正我不认识斧正是什么意思)

  • 相关阅读:
    Flexbox 可视化属性
    latex 数学公式
    迭代器模式 rx 应用
    小程序开发 easy-less 配置
    react-devtool 消息处理渲染 源码理解
    csrf jsonp
    koa1 源码详解1
    Immutable api example
    es6 ajax
    lodash 替换 underscore
  • 原文地址:https://www.cnblogs.com/handsome-zyc/p/11300148.html
Copyright © 2011-2022 走看看