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

点分治 / 树的重心

点分治 / 树的重心

重心的定义:删除树上的某一个点,会得到若干棵子树;删除某点后,得到的最大子树最小,这个点称为重心。我们假设某个点是重心,记录此时最大子树的最小值,遍历完所有点后取最大值即可。

重心的性质:重心最多可能会有两个,且此时两个重心相邻。

点分治的一般过程是:取重心为新树的根,随后使用 \(\tt dfs\) 处理当前这棵树,灵活运用 childpre 两个数组分别计算通过根节点、不通过根节点的路径信息,根据需要进行答案的更新;再对子树分治,寻找子树的重心,……。时间复杂度降至 \(\mathcal O(N\log N)\)

int root = 0, MaxTree = 1e18; //分别代表重心下标、最大子树大小
vector<int> vis(n + 1), siz(n + 1);
auto get = [&](auto self, int x, int fa, int n) -> void { // 获取树的重心siz[x] = 1;int val = 0;for (auto [y, w] : ver[x]) {if (y == fa || vis[y]) continue;self(self, y, x, n);siz[x] += siz[y];val = max(val, siz[y]);}val = max(val, n - siz[x]);if (val < MaxTree) {MaxTree = val;root = x;}
};auto clac = [&](int x) -> void { // 以 x 为新的根,维护询问set<int> pre = {0}; // 记录到根节点 x 距离为 i 的路径是否存在vector<int> dis(n + 1);for (auto [y, w] : ver[x]) {if (vis[y]) continue;vector<int> child; // 记录 x 的子树节点的深度信息auto dfs = [&](auto self, int x, int fa) -> void {child.push_back(dis[x]);for (auto [y, w] : ver[x]) {if (y == fa || vis[y]) continue;dis[y] = dis[x] + w;self(self, y, x);}};dis[y] = w;dfs(dfs, y, x);for (auto it : child) {for (int i = 1; i <= m; i++) { // 根据询问更新值if (q[i] < it || !pre.count(q[i] - it)) continue;ans[i] = 1;}}pre.insert(child.begin(), child.end());}
};auto dfz = [&](auto self, int x, int fa) -> void { // 点分治vis[x] = 1; // 标记已经被更新过的旧重心,确保只对子树分治clac(x);for (auto [y, w] : ver[x]) {if (y == fa || vis[y]) continue;MaxTree = 1e18;get(get, y, x, siz[y]);self(self, root, x);}
};get(get, 1, 0, n);
dfz(dfz, root, 0);
http://www.hskmm.com/?act=detail&tid=37996

相关文章:

  • 最近公共祖先 LCA
  • QMPlayer2中的类,数据结构
  • QMPlayer2解析
  • 2025年10月广州单位办公室搬家公司全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 附加数据文件失败:操作系统错误 5:“5(拒绝访问。)”。 CREATE DATABASE 失败。无法创建列出的某些文件名
  • 书评-谋杀黄昏
  • 20251024- 使用shell脚本分库定时备份MySQL数据
  • 权威调研榜单:东莞工厂装修公司OP3榜单好评深度解析
  • 徐州信息技术服务管理体系认证渠道口碑榜:聚焦机构资质、服务案例及合规性评估
  • 2025年口碑好的FPC离型纸,环氧胶离型纸推荐TOP生产厂家
  • 2025年口碑好的数字地磅,电子汽车衡地磅厂家推荐及选择建议
  • 二分
  • 权威调研榜单:四氟换热器生产厂家TOP3榜单好评深度解析
  • 2025年热门的魔方智能柜,黑金刚智能柜厂家推荐及选择指南
  • 2025年10月扬州公考面试机构全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 2025年口碑好的空气能地暖管,德国品牌地暖管厂家最新TOP推荐榜
  • 2025 年企业邮箱供应商品牌最新推荐榜,聚焦技术实力与市场口碑深度解析
  • 2025年上海注册公司/上海代理记账公司最新推荐榜,聚焦企业服务品质与特色业务竞争力深度剖析
  • 2025 年接触角测量仪厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年国内无缝钢管厂家最新推荐榜:20#/Q355 系列 / 合金管优质品牌权威测评及选购指南
  • 2025年诚信的不锈钢网片,304不锈钢网片厂家最新推荐排行榜
  • python type创建类
  • 2025 年伺服压装机生产厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025年正规的PE防撞碳晶板,ABS防撞碳晶板推荐TOP生产厂家
  • 轻量化 vs 定制化:不同规模企业如何选择 MyEMS 部署模式?
  • 2025年优秀的冷却塔,鼓风式冷却塔定制定做
  • 2025年比较好的车铣复合机床,动力刀塔车铣复合品牌厂家排行榜
  • ISCSI技术原理与运维实践指南
  • 2025年质量好的防火风管加工,角钢风管加工厂家推荐及选择建议
  • 2025 年板材厂家最新推荐排行榜:胖胖熊等优质企业综合实力解析与选购参考