当前位置: 首页 > news >正文

【题解】P5536【XR-3】核心城市

思路

因为所有核心城市两两可互相到达,不妨将所有核心城市缩成一个点,然后考虑这个点会在图上的什么地方出现。题目要求使其他点到这个点距离的最大值最小,不难想到树的直径,该点是直径中点。

然后再把核心城市放回去,考虑怎么选择这 \(k\) 个点。依然按照上述思路,找最小。首先仍是直径中点,然后贪心地选剩下的点。处理出每个点离直径中点的距离和能该点到能到达的离直径中点最远的点的距离,每次找最大值选入核心城市,保证每次减少距离最远的点的距离。最后的答案便是剩下的最大的点。

实现

找直径中点,预处理直径端点到每个点的距离,从另一端点搜到距离正好是该端点一半的点即可。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,k;
int h[N],tot;
int dv1,dv2,dmax;
int dep[N],maxd[N],fa[N],w[N];
struct Node{int to,nxt;
}e[2*N];
void Add(int u,int v){tot++;e[tot].to=v;e[tot].nxt=h[u];h[u]=tot;
}
void dfs(int u,int cur,int fath){dep[u]=cur;fa[u]=fath;maxd[u]=dep[u];if(dmax<cur) dmax=cur,dv1=u;for(int i=h[u];i;i=e[i].nxt){int v=e[i].to;if(v==fath) continue;dfs(v,cur+1,u);maxd[u]=max(maxd[u],maxd[v]);}
}
bool cmp(int x,int y){return x>y;
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>k;for(int i=1;i<=n-1;i++){int u,v;cin>>u>>v;Add(u,v),Add(v,u);}dfs(1,0,0);dv2=dv1,dmax=dv1=0;memset(dep,0,sizeof(dep));dfs(dv2,0,0);int dt=dv1;for(int i=1;i<=(dep[dv1]+1)/2;i++) dt=fa[dt];memset(dep,0,sizeof(dep));dfs(dt,0,0);for(int i=1;i<=n;i++) w[i]=maxd[i]-dep[i];sort(w+1,w+1+n,cmp);cout<<w[k+1]+1;return 0;
}
http://www.gsyq.cn/news/153287.html

相关文章:

  • 2025 年 12 月电动推杆厂家权威推荐榜:高精度、高负载、长寿命的工业自动化核心动力优选 - 品牌企业推荐师(官方)
  • 《企业AI落地实战白皮书:从培训到获客的全链路解决方案》
  • libuv 补充
  • 2025四川废旧物资回收厂家权威推荐:成都辉浩领跑绿色循环经济! - 深度智识库
  • iOS swift-markdown 自定文字颜色
  • Linux 中 如何将文本每行中最后一个出现的指定字符替换为特定的字符
  • 小红书聚光项目:开启营销新征程
  • 上位机学习第一天20251225
  • Shell脚本——打印日志颜色
  • 在这个充满噪音的时代,如何做自己身体的“首席架构师”?
  • 2026年软件测试趋势预测:测试工程师的危与机
  • Java计算机毕设之基于springboot的校园传统文化交流系统强化传统文化与校园生活的融合(完整前后端代码+说明文档+LW,调试定制等)
  • Java springboot 整合敏感词筛查【sensitive-word实现】
  • Open-AutoGLM模型部署难题全攻克,手把手教你7步完成本地化运行
  • 为什么你的Open-AutoGLM总是启动失败?这7个关键点必须检查
  • 初中数学培训机构怎么选?考纲考点精讲 + 奥赛辅导 + 周末班,适配不同需求 - 速递信息
  • 为什么90%的Open-AutoGLM部署都忽略了这3个核心配置?
  • Open-AutoGLM模型性能实测:在消费级显卡上跑出媲美商用模型的效果?
  • 提升用户体验之监控页面性能
  • 基于Blazor实现的样品扫码比对管理系统
  • 从“听话的孩子”到“会提问的孩子”:家庭如何塑造真正的学习力
  • 两期联动,深度合作!神驰机电集团IMS项目二期启动,盘古信息助力数字化工厂再升级
  • 错过将淘汰!Open-AutoGLM级AI正在取代传统开发模式
  • 计算机Java毕设实战-基于springboot的校园传统文化交流系统传统舞蹈、传统戏剧、曲艺、传统制作技艺【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【智谱 Open-AutoGLM 电脑版深度解析】:揭秘国产AI编程神器的5大核心功能与实战应用场景
  • Open-AutoGLM Mac部署实战(从环境配置到模型推理全解析)
  • 2025年工业吸盘选型指南:柔触机器人提供哪些柔性吸附选择? - 品牌2025
  • 为何选择网站建设工具?7 大核心价值解析
  • 【国产AI工具崛起】:智谱 Open-AutoGLM 电脑版实测性能提升80%的秘密
  • 【专家级避坑指南】:Open-AutoGLM环境搭建常见错误及最佳实践