zoukankan      html  css  js  c++  java
  • 题解——CF Manthan, Codefest 18 (rated, Div. 1 + Div. 2) T5(思维)

    还是dfs?

    好像自己写的有锅

    过不去

    看了题解修改了才过qwq

    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    #include <stack>
    #include <set>
    using namespace std;
    int u[200010],v[200010],n,m,k,ans;
    bool isdel[200010],vis[200010];
    set<int> sons[200010];
    stack<int> S;
    void dfs(int u){
      if(sons[u].size()>=k)
        return;
      if(vis[u])
        return;
      vis[u]=true;
      ans--;
      for(auto i=sons[u].begin();i!=sons[u].end();i++){
            sons[*i].erase(u);
            dfs(*i);
      }
      sons[u].clear();
    }
    int main(){
      scanf("%d %d %d",&n,&m,&k);
      for(int i=1;i<=m;i++){
        scanf("%d %d",&u[i],&v[i]);
        sons[u[i]].insert(v[i]);
        sons[v[i]].insert(u[i]);
      }
      ans=n;
      for(int i=1;i<=n;i++)
          dfs(i);
        if(ans>=k){
          S.push(ans);
          }
        else
          S.push(0);
      for(int i=m;i>=2;i--){
        sons[u[i]].erase(v[i]);
        sons[v[i]].erase(u[i]);
        dfs(u[i]);
        dfs(v[i]);
        if(ans>=k){
          S.push(ans);
        }
        else
          S.push(0);
      }
      while (!S.empty()) {
        printf("%d
    ",S.top());
        S.pop();
      }
      return 0;
    }
  • 相关阅读:
    Effective C++第三遍
    SQL基础教程
    hibernate 数据关联多对多
    hibernate 数据关联一对一
    hibernate 数据关联一对多
    hibernate Criteria查询
    hibernate HQL查询
    hibernate 持久化对象的生命周期
    hibernate的配置
    微博登录
  • 原文地址:https://www.cnblogs.com/dreagonm/p/9582482.html
Copyright © 2011-2022 走看看