尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

树的重心(邻接表)

树的重心(邻接表)
📅 发布时间:2026/6/19 21:27:27

image

输入样例:

9
1 2
1 7
1 4
2 8
2 5
4 3
3 9
4 6

期望输出:

4

代码实现:

#include<bits/stdc++.h>
using namespace std;const int N =1e5+10 , M=2*N;int n,m;
int h[N],e[M],ne[M],idx;
bool vis[N];
int ans=N ;void add(int a,int b)//插入一条a指向b的边
{e[idx]=b;ne[idx]=h[a];h[a]=idx++;
}int dfs(int u)//u代表的是第几个点
{vis[u]=1;int sum = 1,res =0; //sum 为当前子树的大小,res为把这一点删除后的连通块的最大值for(int i=h[u];i!=-1;i=ne[i]){int k=e[i];if(!vis[k]){int s = dfs(k); //当前子树的大小res = max(res,s);//看看所有子树哪个更大sum +=s;//求自己为父节点树的大小}}res = max(res,n-sum); //看看删除这个点的其他部分与最大子树哪个大ans = min(ans,res);//找到最小的答案return sum;
}int main()
{cin>>n;memset(h,-1,sizeof(h));for(int i=0;i<n-1;i++){int a ,b;cin>>a>>b;add(a,b);add(b,a);//因为是无向图,所以要新建两条边}dfs(1);//从哪个点开始搜cout<<ans<<endl;
}

  

相关新闻

  • 语音芯片怎样接? 语音芯片有哪些常见接口类型?
  • 详细介绍:2025华为杯A题B题C题D题E题F题选题建议思路数学建模研研究生数学建模思路代码文章成品
  • AtCoder Beginner Contest 424

最新新闻

  • QMCDecode解决方案:解锁QQ音乐加密格式,实现音频文件自由播放
  • SCMP报考条件详解——学历和工作经验要求 - 众智商学院课程中心
  • DeepSeek V4硬件适配实录:昇腾910B与H100双轨训练逻辑
  • SAP BOM查询实战:从正查到反查的完整指南
  • 【2026年6月】热水离心泵厂家推荐指南 - 多才菠萝
  • Python图片压缩方法全解:从入门到进阶

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号