zoukankan      html  css  js  c++  java
  • BZOJ 3391 Tree Cutting网络破坏

    不想写。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    #include<map>
    #define pa pair<int,int>
    #define inf 1000000000
    #define ll long long 
    using namespace std;
    inline int read()
    {
        int x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
        return x*f;
    }
    int n,cnt,ind,ans;
    int dfn[10005],low[10005],last[10005],size[10005];
    bool mark[10005];
    struct edge{int to,next;}e[20005];
    void insert(int u,int v)
    {
        e[++cnt].to=v;e[cnt].next=last[u];last[u]=cnt;
        e[++cnt].to=u;e[cnt].next=last[v];last[v]=cnt;
    }
    void tarjan(int x)
    {
        
        dfn[x]=low[x]=++ind;
        size[x]=1;
        int t=0,res=n-1;
        for(int i=last[x];i;i=e[i].next)
            if(!dfn[e[i].to])
            {
                tarjan(e[i].to);
                size[x]+=size[e[i].to];
                low[x]=min(low[x],low[e[i].to]);
                if(low[e[i].to]>=dfn[x])
                {
                    t=max(t,size[e[i].to]);
                    res-=size[e[i].to];
                }
            }
            else low[x]=min(low[x],dfn[e[i].to]);
        t=max(t,res);
        if(t<=n/2)
        {
            ans++;
            mark[x]=1;
        }
    }
    int main()
    {
        n=read();
        for(int i=1;i<n;i++)
        {
            int u=read(),v=read();
            insert(u,v);
        }
        for(int i=1;i<=n;i++)if(!dfn[i])tarjan(i);
        if(!ans)puts("NONE");
        else 
            for(int i=1;i<=n;i++)
                if(mark[i])printf("%d
    ",i);
        return 0;
    }
  • 相关阅读:
    今天晚上有个什么样的博文呢
    STM8CubeMx来了
    开博啦
    Authentication
    文件上传设计要点
    分布式杂记
    SQL Server 知识集
    C# 集合使用误区
    网络知识集
    关于 elasticsearch 近实时特征的思考
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/5717960.html
Copyright © 2011-2022 走看看