Comet OJ - Contest #9 & X Round 3 【XR-3】核心城市 【树的理解】
一、题目
二、分析
题意就是在树中确定$K$个点,满足剩下的$N-K$个点中到这$K$个点的最大距离尽可能小。
理解上肯定是确定一个根,这个根是这个图的中心。
可以通过根据结点的高度,从树的外层一层一层往里面剥,那么每次剥的结点一定是队列里比较靠外的,且加进去的点要么和他同层,要么是层数更高的。所以当减到还剩k个点的时候,它的高度就是答案。
三、AC代码
#include <bits/stdc++.h> using namespace std;
#define ll long long
#define Min(a,b) ((a)>(b)?(b):(a))
#define Max(a,b) ((a)>(b)?(a):(b))
const int MAXN = 1e5;
vector<int> G[MAXN + 13];
int Depth[MAXN + 13], Num[MAXN + 13]; int BFS(int n, int k)
{
memset(Depth, 0, sizeof(Depth));
queue<int> que;
for(int i = 1; i <= n; i++) {
if(G[i].size() == 1) {
Depth[i] = 1;
que.push(i);
}
}
int last = n;
while(!que.empty()) {
int u = que.front();
que.pop();
last--;
if(last == k) return Depth[u];
for(int i = 0; i < G[u].size(); i++) {
int v = G[u][i];
Num[v]--;
if(Num[v] == 1) {
Depth[v] = Max(Depth[v], Depth[u] + 1);
que.push(v);
}
}
}
return 0;
} void init(int n)
{
memset(Num, 0, sizeof(Num));
for(int i = 1; i <= n; i++) {
G[i].clear();
}
} int main()
{
//freopen("input.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
int n, k;
while(scanf("%d%d", &n, &k)!=EOF) {
int u, v;
init(n);
for(int i = 1; i < n; i++) {
scanf("%d%d", &u, &v);
G[u].push_back(v);
G[v].push_back(u);
Num[u]++, Num[v]++;
}
printf("%d\n", BFS(n, k));
// cout << solve(n, k) << endl; }
return 0;
}
Comet OJ - Contest #9 & X Round 3 【XR-3】核心城市 【树的理解】的更多相关文章
- Comet OJ - Contest #9 & X Round 3题解
传送门 \(A\) 咕咕 typedef long long ll; int a1,a2,n,d;ll res; int main(){ scanf("%d%d%d",&a ...
- [Comet OJ - Contest #9 & X Round 3] Namid[A]me
传送门 一开始读错题了,以为是\(\sum_{1\leq u\leq v\leq n}f(u,v)\),还疑惑这题这么简单怎么没人做( 实际上是\(\sum_{1\leq u\leq v\leq n} ...
- Comet OJ - Contest #14 转转的数据结构题 珂朵莉树+树状数组
题目链接: 题意:有两个操作 操作1:给出n个操作,将区间为l到r的数字改为x 操作2:给出q个操作,输出进行了操作1中的第x到x+y-1操作后的结果 解法: 把询问离线,按照r从小到大排序 每次询问 ...
- [Comet OJ - Contest #6 C][48C 2279]一道树题_树
一道树题 题目大意: 给定一棵树,边的编号为读入顺序.现在规定,区间$[L, R]$的贡献$S(L,R)$为把编号在该区间里的边都连上后,当前形成的森林中点数大于等于$2$的联通块个数. 求$\sum ...
- Comet OJ - Contest #3 D可爱的菜菜子(线段树+线性基的合并)
这题其实挺经典的,看到求异或最大,显然想到的是线性基,不过这怎么维护?当然区间有关的东西都可以上线段树,区间修改时记录每个点的修改量k,然后合并线性基时再加入线性基.因为线性基是求一组极大线性无关组, ...
- Comet OJ - Contest #2 简要题解
Comet OJ - Contest #2 简要题解 cometoj A 模拟,复杂度是对数级的. code B 易知\(p\in[l,r]\),且最终的利润关于\(p\)的表达式为\(\frac{( ...
- Comet OJ - Contest #2简要题解
Comet OJ - Contest #2简要题解 前言: 我没有小裙子,我太菜了. A 因自过去而至的残响起舞 https://www.cometoj.com/contest/37/problem/ ...
- Comet OJ - Contest #4--前缀和
原题:Comet OJ - Contest #4-B https://www.cometoj.com/contest/39/problem/B?problem_id=1577传送门 一开始就想着暴力打 ...
- Comet OJ - Contest #11 题解&赛后总结
Solution of Comet OJ - Contest #11 A.eon -Problem designed by Starria- 在模 10 意义下,答案变为最大数的最低位(即原数数位的最 ...
随机推荐
- Docker & Node.js
Docker & Node.js https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ https://docs.docker.com ...
- Bootstrap5 多级dropdown
<div class="dropdown"> <a class="btn dropdown-toggle"> Dropdown link ...
- Flutetr flutter_downloader 1.3.1
flutter_downloader 此库更新极慢,所以问题及多,可以看文档 安装 dependencies: flutter_downloader: ^1.3.1 配置 Java: // MyApp ...
- NGK生态之星空计划启动在即,稀有VAST高兑换比带来高价值!
NGK生态之星空计划启动在即,为了感谢NGK布道者的支持,NGK官方将全力辅助算力市场,开展全新的星空计划,并发行星空币SPC,空投给算力持有者进行额外奖励. 至此,SPC已经顺利完成2轮空投,也初步 ...
- Datahero inc:区块链方案如何在现有食品溯源系统里实现落地?
在食品行业,区块链溯源平台的应用,主要是指围绕"从农田到餐桌"的安全管理理念,综合运用区块链技术.大数据技术和二维码技术等前沿技术,具有产品生产企业管理. 产品生产档案 (农药/防 ...
- PAUL ADAMS ARCHITECT:华州加州城市楼市竞争力居全美前列
美国房地产公司最新一份报告显示,美国楼市竞争力最高的十个城市中有八个来自华盛顿州和加利福尼亚州,主要原因在于越来越多的买家考虑迁居房价更划算的都会区.数据显示,斯潘那维65%的房屋以高于要价的价格售出 ...
- 解决异常: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate failed: Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPlugin -> [Help 1]
mybatis-generator整合通用mapper使用generator插件生成model.mapper时报错: 产生以下错误:↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 解决办法: ...
- Django框架admin后台管理和用户端静态文件
目录 一.admin后台管理 1. 如何使用 2. 路由分发的本质 二.用户上传的静态文件的展示 1. media配置 2. 手动开设media接口 三.图片防盗链 一.admin后台管理 djang ...
- Reactive Spring实战 -- 理解Reactor的设计与实现
Reactor是Spring提供的非阻塞式响应式编程框架,实现了Reactive Streams规范. 它提供了可组合的异步序列API,例如Flux(用于[N]个元素)和Mono(用于[0 | 1]个 ...
- GMS的概述
1 GMS GMS全称为GoogleMobile Service,即谷歌移动服务. GMS是Google所提供的一系列移动服务,包括开发用的一系列服务和用户所用的Google Apps. Maps与L ...