【链接】 我是链接,点我呀:)
【题意】

【题解】

找到度数为1的点。
他们显然是叶子节点。
然后每个叶子节点。
往上进行bfs.
累计他们的父亲节点的儿子的个数。
如果都满足要求那么就继续往上走。
直到不能走。或已经走了k步。
且要求走了k步之后。他们都到了同一个节点。(根节点

这道题。
n=1的时候,认为是无解的。
(因为题目中说"some vertices of degree 1",也就是说必须>= 1.......

【代码】

/*find each vertex i where du[i]==1bfs(i) one depth and get y,cnt[y]++;after thatcount the number if different cnt[y] ->CNT (only consider cnt[y]>0 if (CNT!=1) return 0;set the only cnt value as kkwe can now know that the root has kk childrenfind the root,(du[root]==kk)(if there are more than one i such that du[i]==kk,no solution(if there are no such i,such that du[i]==k,no solutiondfs from root.if (dep!=k && du[x]==1) return 0;//must have k depthcheck if every vertex except the bottom vertext all has kk children*/
#include <bits/stdc++.h>
#define ll long long
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std;const int N = 1e5;int n,k;
vector<int> g[N+10];
bool flag[N+10];
vector<int> v,tempv;
int cnt[N+10];void wujie(){puts("No");exit(0);
}int main(){#ifdef ccyfreopen("rush.txt","r",stdin);#endifscanf("%d%d",&n,&k);if (n==1){puts("No");return 0;}rep1(i,1,n-1){int x,y;scanf("%d%d",&x,&y);g[x].push_back(y);g[y].push_back(x);}rep1(i,1,n)if ((int)g[i].size()==1){v.push_back(i);}rep1(dep,1,k){/*for (int x:v){printf("%d ",x);}puts("");*/rep1(j,0,(int)v.size()-1){int x = v[j];int cntup = 0;rep1(l,0,(int)g[x].size()-1){int y = g[x][l];
//              printf("%d ",y);if (flag[y]) continue;cnt[y]++;cntup++;}       if (cntup!=1) wujie();flag[x] = true;}
//      puts("");v.clear();rep1(i,1,n){if (cnt[i]!=0 && cnt[i]<3) wujie();if (cnt[i]==0) continue;v.push_back(i);cnt[i] = 0;                     }}rep1(i,0,(int)v.size()-1){if (v[i]!=v[0]) wujie();}puts("Yes");return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/9937748.html

【2000*】【Codeforces Round #518 (Div. 1) [Thanks, Mail.Ru!] B】Multihedgehog相关推荐

  1. 【Codeforces Round #532 (Div. 2) F. Ivan and Burgers】离线+线性基

    F. Ivan and Burgers 题意 n个数,q次询问,每次询问一个区间内选出任意个数的异或最大值. 1<=n<=5∗1051<=n<=5*10^51<=n< ...

  2. Codeforces Round #518 (Div. 2): F. Knights(神题)

    题意: 一个无限大的棋盘,初始往这个棋盘中放n个骑士(骑士走日字,和马一样),之后如果存在一个点可以被4个骑士一步到达,那么就往这个格子上再放一个马,并且无限继续下去,直到不存在任意一个点可以被4个骑 ...

  3. Codeforces Round #518 (Div. 2): E. Multihedgehog(模拟)

    题意: 1-刺猬图满足: 是一棵树 存在一个中心节点u与其它所有点相连 包括中心节点在内,至少4个节点 2-刺猬图满足: 是一棵树 存在一个中心节点u与其它所有1-刺猬图的中心节点相连 这个中心节点至 ...

  4. Codeforces Round #518 (Div. 2): D. Array Without Local Maximums(DP)

    题意: 有一个长度为n的序列,满足对于所有的a[x],与它相邻的两个元素a[x-1]和a[x+1]中至少有一个大于等于它,其中a[1]和a[n]当然只有一个相邻元素, 现在这个序列中有些数字被破坏了( ...

  5. Codeforces Round #699 (Div. 2) (A ~ F)6题全,超高质量良心题解【每日亿题】2021/2/6

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) (A.B.C)[每日亿题]2021/2/ ...

  6. Codeforces Round #698 (Div. 2)(A ~ F)6题全,超高质量题解)【每日亿题】2021/2/4

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #698 (Div. 2)(A ~ F)6题全,超 ...

  7. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  8. 【Codeforces Round #767 (Div. 2)】 C. Meximum Array 题解

    [Codeforces Round #767 (Div. 2) ]C. Meximum Array 题解 1629C: Meximum Array 题解 [Codeforces Round #767 ...

  9. Codeforces Round #434 (Div. 2)【A、B、C、D】

    Codeforces Round #434 (Div. 2) codeforces 858A. k-rounding[水] 题意:已知n和k,求n的最小倍数x,要求x后缀至少有k个0. 题解:答案就是 ...

  10. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

最新文章

  1. .NET2.0隐形的翅膀,正则表达式搜魂者【月儿原创】
  2. javascript正则表达式验证密码(必须含数字字符特殊符号,长度4-16位之间)
  3. Apache负载均衡+Tomcat集群
  4. 《Java8实战》笔记(16):结论以及Java的未来
  5. 反射 数据类型_C#扫盲篇(一):反射机制情真意切的说
  6. Rokid祝明铭:大腿我们不抱,人机交互产品形态未定 | 变局者
  7. node.js(四)Mongoose使用进阶
  8. docker安装mysql5.7_docker安装mysql5.7
  9. 华为IPD体系下的“零缺陷”质量管理
  10. 使用Python基于BibTeX引用格式自动生成文献的IEEE引用格式
  11. iweboffice之word——自定义菜单的使用
  12. 安卓引用思源黑体字体,出现标点“ ‘ ” 时候会显示成“)”
  13. FreeCAD源码分析:FreeCADApp模块
  14. 微信支付宝无现金之争:瞄准用户支付大数据
  15. 【Excel 教程系列第 5 篇】查找重复值
  16. 鼠标控制c语言扫雷程序,【源码项目】C语言/C+开发,打造一个小项目扫雷小游戏!...
  17. opencv边缘检测加提取(圆形和矩形)
  18. 相关系数pearson、spearman、kendall和R语言中的cor/or.test()
  19. 关于雪崩击穿温度系数
  20. configure配置安装详解

热门文章

  1. indesign教程,如何使用共享交互式文档?
  2. Photoshop 22.5 新功能:更多天空替换素材下载、弯曲变形与探索功能的强化
  3. iOS开发Cocoapods安装错误error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
  4. PS滤镜插件工具箱Mac版:Nik Collection 4
  5. Linux shell 根据时间批量删除指定文件夹下的文件
  6. 英国大学diploma(证书)期末考试挂科
  7. 多图片文件上传实现并通过 PostMan 测试
  8. window wlan 相关服务
  9. RocketMQ 拉取消息-通信模块
  10. TreeList显示CheckBox