题解——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\n",S.top());
    S.pop();
  }
  return 0;
}

原文地址:https://www.cnblogs.com/dreagonm/p/9582482.html

时间: 2024-10-04 20:52:42

题解——CF Manthan, Codefest 18 (rated, Div. 1 + Div. 2) T5(思维)的相关文章

Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) D,E

D. Valid BFS? time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The BFS algorithm is defined as follows. Consider an undirected graph with vertices numbered from 11 to nn. Initialize qq as a

Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)-C. Magic Grid-构造

Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)-C. Magic Grid-构造 [Problem Description] ? 给你一个\(n\),构造一个\(n\times n\)的矩阵,使其满足任意一行,或一列的异或值相同.保证\(n\)能被\(4\)整除. [Solution] ? 可以发现,从\(0\)开始,每\(4\)个连续数的异或值为\(0\),所以可以很容易使得每一行的异或值等于\(0\). ? 列

【题解】CF#474(Div.1+Div.2) H-Santa&#39;s Gift

好久没有写过数据结构题目了,果然还是太不自信.实际上就是要求统计一个式子: \(\sum (c[k]*p[k] - C)^{2}\) 拆开,分别统计和与平方和 \(co[k] * \sum p[k]^{2} - 2 * C * co[k] \sum p[k] + \sum C ^{2}\) 显然可以用树链剖分 + 线段树维护 平方和在区间 + 1的时候直接用 \((x + 1) ^ {2} = x^2 + 2 * x + 1\) 计算即可. 至于不同的口味的问题,我们给每个口味都开一线段树,动态

Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Pattern Matching B. Pair of Toys C. Bracket Subsequence D. Array Restoration-区间查询最值(RMQ(ST))

Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Pattern Matching 题意就是匹配字符的题目,打比赛的时候没有看到只有一个" * ",然后就写挫了,被hack了,被hack的点就是判一下只有一个" * ". 1 //A 2 #include<iostream> 3 #include<cstdio&g

[Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated]-E. Kuroni and the Score Distribution(构造)

[Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated]-E. Kuroni and the Score Distribution(构造) Kuroni is the coordinator of the next Mathforces round written by the "Proof by AC" team. All the preparation has been done, and he is discussing with the

DIV布局-DIV高度不同自动换行并对齐《转》

每个div框内容有多有少,要支持div高度自适应,还要添加的div自动追加,并且换行还要保持每行对齐. 刚开始的效果: 给出了完美解决方案: 效果: 因为要支持每个div可删除,删除后,后面的div自动补齐,所以用table不显示(除非想自虐的人可以试下) 最终就是css修改了一下就搞定了... 1 <html> 2 <head> 3 <style> 4 .test_area{ 5 width:100%; 6 background-color:#FFFFFF; 7 mi

xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应

xHTML+div经常考题:三个div,两边div宽度固定,中间div宽度自适应. 和大家分享一个实现方式: 1.html代码 1 <div class="dyleft">左栏固定宽度为200px</div> 2 <div class="dyright">右栏固定宽度为200px</div> 3 <div class="dycenter">中间自适应宽度</div> 2.cs

div嵌套div 背景图片 不显示的问题

这几天 在做一个小Demo的时候碰到了如上的问题,一个DIV嵌套多个DIV时,父容器DIV不显示背景图片.同时结合之前碰到类似的问题,我归纳了如下几个解决方法: 1.就是常见的 子div 背景把父div的背景给盖住了,例子: 该例子就是 我有一个父div 和它里面嵌套的一个子div,两个div的宽度和高度大小是一样的,其中父div的背景图片就是上面这张图片(箭头部分是透明的),子div的背景图片是那种渐变灰色图片,其实懂英语的人应该看出来了就是,我想实现一个那种类似于iphone滑动那种灯光从

div 属性 DIV标签属性有什么如何设置属性

div 属性 DIV标签属性有什么如何设置属性(音乐放松椅) div 属性介绍,对DIV可加属性有哪些,DIV属性一览表DIVCSS5整理 DIVCSS5给大家整理DIV标签内常用属性,同时通过div各属性小实例,让大家认识各属性并掌握属性. div标签内常用属性列表 1.style 设置css样式(扩展了解style标签) 2.align 设置div盒子内的内容居中.居左.居右 3.id 引人外部对应#(井号)选择符号样式 4.class 引人外部对应.(句号)选择符号样式 5.title 设