前言

传送门 :
一开始想到了拓扑排序 但是拓扑是对一个点,所以还是想着中心根深度继续走

思路

我们对于每一个叶子节点 对其连接的节点的度数−1-1−1 进行拓扑操作

然后我们在操作的时候 同时记录一下,这是第几轮被删除的节点

最后对节点进行一遍 前缀和 输出即可

CODE

#include <bits/stdc++.h>
using namespace std;
#define ned '\n'
#define pb push_back
const int N  = 4e5+10;
vector<int> save[N];
vector<int> v;int in[N];
int val[N];
int cnt[N];
int n,k;void init()
{for(int i = 0;i<=n;i++){save[i].clear();val[i] = 0;cnt[i] = 0 ;in[i] = 0;}v.clear();
}
void solve()
{//int n,k;init();cin>>n>>k;if(n == 1){cout<<0<<ned;return;}for(int i=1; i<=n-1; i++){int a,b;cin>>a>>b;save[a].pb(b);save[b].pb(a);in[a]++,in[b]++;}int tot = 0,c=1;for(int i=1; i<=n; i++)if(in[i] == 1)v.pb(i);///存第一遍 所有叶子节点while(tot<n){vector<int> v2;tot+=v.size();for(auto it : v){val[it] = c;for(auto it2 : save[it]){--in[it2];if(in[it2] == 1)v2.pb(it2);}}v = v2;c++;}for(int i=1; i<=n; i++)cnt[val[i]] ++;for(int i=1; i<=n; i++)cnt[i] += cnt[i-1];if(k>n)cout<<0<<ned;elsecout<<n-cnt[k]<<ned;
}int main()
{ios::sync_with_stdio(false);int t;cin>>t;while(t -- )solve();return 0;
}

[cf] E - Gardener and Tree 拓扑排序相关推荐

  1. E. Gardener and Tree(拓扑)

    Gardener and Tree 题意:k次操作,每次删去叶子节点,问最后剩的节点 思路:拓扑,度为1的就是叶子结点 //#pragma GCC optimize(2) //#pragma GCC ...

  2. CF思维联系--CodeForces -214C (拓扑排序+思维+贪心)

    ACM思维题训练集合 Furik and Rubik love playing computer games. Furik has recently found a new game that gre ...

  3. Codeforces Round #748 (Div. 3) E. Gardener and Tree(拓扑排序)

    linkk 题意: 给一棵树nnn个节点,每次删掉所有的叶子,操作kkk次,求剩下的节点数 思路: 拓扑排序,每次将度数<=1<=1<=1的点放入队列,并且维护操作的次数.对于队列中 ...

  4. 拓扑排序 Codeforces Round #748 (Div. 3)E. Gardener and Tree

    由于最近做了很多关于树的题目,突然想起来之前有一道题意很简单的拓扑排序的题目,索性一块写了. 题意:给出一棵树,总共k次操作,每次操作删除叶子节点,问k次操作后总共还剩余多少节点. 难点:如可判断操作 ...

  5. E. Gardener and Tree(拓扑排序)

    Codeforces Round #748 (Div. 3) 题意 给一棵n个节点n-1条边的树,每次删掉所有的叶子节点,操作k次,求剩下的节点数. 思路 类拓扑排序.先把度数 ≤\le≤ 1的节点入 ...

  6. 图论之拓扑排序 poj 2367 Genealogical tree

    题目链接 http://poj.org/problem?id=2367 题意就是给定一系列关系,按这些关系拓扑排序. #include<cstdio> #include<cstrin ...

  7. *【CF#510C】Fox And Names (拓扑排序)

    题干: Fox Ciel is going to publish a paper on FOCS (Foxes Operated Computer Systems, pronounce: " ...

  8. POJ 2367 Genealogical tree【拓扑排序】

    题意:大概意思是--有一个家族聚集在一起,现在由家族里面的人讲话,辈分高的人先讲话.现在给出n,然后再给出n行数 第i行输入的数表示的意思是第i行的子孙是哪些数,然后这些数排在i的后面. 比如样例 5 ...

  9. java 有向无环图 树_拓扑排序-有向无环图(DAG, Directed Acyclic Graph)

    条件: 1.每个顶点出现且只出现一次. 2.若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面. 有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说. 一 ...

最新文章

  1. 十六进制190的2进制数_十六进制数系统解释
  2. Java精选笔记_XML基础
  3. 泉州服务器维修,泉州云服务器
  4. (零)我为什么要写Linux学习笔记?
  5. 1.19 实例:Java求数组元素的最大和最小值
  6. OpenCASCADE绘制测试线束:性能评估命令之VDrawSphere
  7. Kubernetes上的负载均衡详解
  8. 软件工程第一次结对编程
  9. python朴素贝叶斯分类MNIST数据集
  10. emf建模要小心连线循环指向的问题
  11. 第八届蓝桥杯java b组第十题
  12. shipyard中文版发布
  13. python和c语言的区别-c语言和python的区别
  14. 四年,新华三安全大变样
  15. token什么意思中文在C语言中,token是什么意思?
  16. ps快捷键常用表,ps快捷键大全!最全面的PS快捷键使用指南(图文演示)
  17. 博客营销成功案例分析
  18. 秘籍:MSN好友IP地址随便查
  19. Midjourney|文心一格prompt教程[基础篇]:注册使用教程、风格设置、参数介绍、隐私模式等
  20. 2021-08-23-Nginx安装与部署项目

热门文章

  1. 程序员三大世界观 如何看待HTML5
  2. 【计算机三级】网路技术学习笔记 第二章 中小型网络系统总体规划与设计
  3. 七种不同类型的游戏测试技术
  4. Google OAuth2 for Android(type of web OAuth)
  5. miniui 查询_jQuery MiniUI 表单查询sql写在哪里
  6. IT 2018年:ManageEngine回顾总结
  7. AGL和GENIVI(COVESA)介绍
  8. 虚拟串口服务器原码,虚拟串口的完整源代码
  9. 【UGUI】二、Text(TMP) 文本
  10. 彩虹七种颜色的RGB值十六进制