zoukankan      html  css  js  c++  java
  • [bzoj1301] [LLH邀请赛]参观路线

      本题同bzoj1098

      用个并查集,把连续的被访问过的点并起来。。这样就不会尝试已经走过的点了。

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int maxn=100233,maxm=1002333;
     7 struct zs{
     8     int too,pre;
     9 }e[maxm<<1],e1[maxm<<1];int tot,last[maxn],tot1,last1[maxn];
    10 int u[maxm],v[maxm];
    11 int fa[maxn];
    12 int i,j,k,n,m;
    13  
    14 inline void insert(int a,int b){
    15     if(e[last[a]].too==b)return;
    16     e[++tot].too=b,e[tot].pre=last[a],last[a]=tot;
    17 }
    18 inline void ins(int a,int b){
    19     e1[++tot1].too=b,e1[tot1].pre=last1[a],last1[a]=tot1;
    20 }
    21 int getfa(int x){
    22     return fa[x]!=x?fa[x]=getfa(fa[x]):x;
    23 }
    24  
    25 void dfs(int x){
    26     fa[x]=x+1;
    27     printf("%d
    ",x);
    28     int next=getfa(1);//printf("  next:%d
    ",next);
    29      
    30     for(int i=last[x];i;i=e[i].pre){
    31         while(next<e[i].too)
    32             dfs(next),next=getfa(next+1);
    33         if(next==e[i].too)next=getfa(next+1);
    34     }
    35     while(next<=n)dfs(next),next=getfa(next+1);
    36 }
    37  
    38 int ra;char rx;
    39 inline int read(){
    40     rx=getchar(),ra=0;
    41     while(rx<'0'||rx>'9')rx=getchar();
    42     while(rx>='0'&&rx<='9')ra*=10,ra+=rx-48,rx=getchar();return ra;
    43 }
    44 int main(){
    45     n=read(),m=read();
    46     for(i=1;i<=m;i++)u[i]=read(),v[i]=read(),ins(v[i],i),ins(u[i],i);
    47     for(i=n;i;fa[i]=i,i--)
    48         for(j=last1[i];j;j=e1[j].pre)
    49             if(j&1)insert(u[e1[j].too],i);
    50             else insert(v[e1[j].too],i);
    51 //  for(i=1;i<=n;i++)for(j=last[i];j;j=e[j].pre)printf("%d-->%d
    ",i,e[j].too);//return 233;
    52     fa[n+1]=n+1;
    53     dfs(1);
    54     return 0;
    55 }
    56 
    View Code
  • 相关阅读:
    Alpha阶段项目复审
    复审与事后分析
    测试与发布(Alpha版本)
    第七天
    第六天
    团队作业第4周——项目冲刺
    第一天
    第二天
    第四天
    第五天
  • 原文地址:https://www.cnblogs.com/czllgzmzl/p/5597891.html
Copyright © 2011-2022 走看看