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

树论大封装(直径+重心+中心)

树论大封装(直径+重心+中心)

struct Tree {int n;vector<vector<pair<int, int>>> e;vector<int> dep, parent, maxdep, d1, d2, s1, s2, up;Tree(int n) {this->n = n;e.resize(n + 1);dep.resize(n + 1);parent.resize(n + 1);maxdep.resize(n + 1);d1.resize(n + 1);d2.resize(n + 1);s1.resize(n + 1);s2.resize(n + 1);up.resize(n + 1);}void add(int u, int v, int w) {e[u].push_back({w, v});e[v].push_back({w, u});}void dfs(int u, int fa) {maxdep[u] = dep[u];for (auto [w, v] : e[u]) {if (v == fa) continue;dep[v] = dep[u] + 1;parent[v] = u;dfs(v, u);maxdep[u] = max(maxdep[u], maxdep[v]);}}void dfs1(int u, int fa) {for (auto [w, v] : e[u]) {if (v == fa) continue;dfs1(v, u);int x = d1[v] + w;if (x > d1[u]) {d2[u] = d1[u], s2[u] = s1[u];d1[u] = x, s1[u] = v;} else if (x > d2[u]) {d2[u] = x, s2[u] = v;}}}void dfs2(int u, int fa) {for (auto [w, v] : e[u]) {if (v == fa) continue;if (s1[u] == v) {up[v] = max(up[u], d2[u]) + w;} else {up[v] = max(up[u], d1[u]) + w;}dfs2(v, u);}}int radius, center, diam;void getCenter() {center = 1; //中心for (int i = 1; i <= n; i++) {if (max(d1[i], up[i]) < max(d1[center], up[center])) {center = i;}}radius = max(d1[center], up[center]); //距离最远点的距离的最小值diam = d1[center] + up[center] + 1; //直径}int rem; //删除重心后剩余连通块体积的最小值int cog; //重心vector<bool> vis;void getCog() {vis.resize(n);rem = INT_MAX;cog = 1;dfsCog(1);}int dfsCog(int u) {vis[u] = true;int s = 1, res = 0;for (auto [w, v] : e[u]) {if (vis[v]) continue;int t = dfsCog(v);res = max(res, t);s += t;}res = max(res, n - s);if (res < rem) {rem = res;cog = u;}return s;}
};
http://www.jsqmd.com/news/21152/

相关文章:

  • QMPlayer2解析
  • 2025年10月广州单位办公室搬家公司全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 书评-谋杀黄昏
  • 徐州信息技术服务管理体系认证渠道口碑榜:聚焦机构资质、服务案例及合规性评估
  • 完整教程:【汽车篇】AI深度学习在汽车零部件外观检测——铝铸件中的应用
  • 附加数据文件失败:操作系统错误 5:“5(拒绝访问。)”。 CREATE DATABASE 失败。无法创建列出的某些文件名
  • 20251024- 使用shell脚本分库定时备份MySQL数据
  • 权威调研榜单:东莞工厂装修公司OP3榜单好评深度解析
  • 【Linux】倒计时和进度条完成
  • 2025年口碑好的FPC离型纸,环氧胶离型纸推荐TOP生产厂家
  • 2025年口碑好的数字地磅,电子汽车衡地磅厂家推荐及选择建议
  • 权威调研榜单:四氟换热器生产厂家TOP3榜单好评深度解析
  • 2025年口碑好的食品级贴体盒,榴莲贴体盒实力源头
  • 2025年热门的魔方智能柜,黑金刚智能柜厂家推荐及选择指南
  • 2025年10月进口艺术漆厂家全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 2025 年漆包线厂家最新推荐榜,技术实力与市场口碑深度解析,筛选优质品牌助力采购决策
  • 2025年诚信的液压水渠成型机,全自动水渠成型机厂家最新权威推荐榜
  • 2025 年优质销轴厂家最新推荐榜,技术实力与市场口碑深度解析,聚焦高品质连接解决方案发黑 / 异型 / 非标 / 农机销轴公司推荐
  • 最大公约数 gcd
  • 2025年10月扬州公考面试机构全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 2025年耐用的陶瓷纤维异性件,硅酸铝纤维陶瓷纤维实力源头加工
  • View root,dirs,files
  • 2025年正规的按动中性笔,多功能中性笔厂家推荐及采购指南
  • 2025年口碑好的空气能地暖管,德国品牌地暖管厂家最新TOP推荐榜
  • 2025 年企业邮箱供应商品牌最新推荐榜,聚焦技术实力与市场口碑深度解析
  • 2025年上海注册公司/上海代理记账公司最新推荐榜,聚焦企业服务品质与特色业务竞争力深度剖析
  • 2025 年接触角测量仪厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年国内无缝钢管厂家最新推荐榜:20#/Q355 系列 / 合金管优质品牌权威测评及选购指南
  • 2025年诚信的不锈钢网片,304不锈钢网片厂家最新推荐排行榜
  • python type创建类