点分治 / 树的重心

news/2025/10/24 11:55:18/文章来源:https://www.cnblogs.com/xihegudi/p/19162886

点分治 / 树的重心

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

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

点分治的一般过程是:取重心为新树的根,随后使用 \(\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.mzph.cn/news/945146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.21总结

include include using namespace std; struct Student{ int id; string name; int score; }; int main(){ Student student[100]; int n=0; while(cin>>student[n].id>>student[n].name>>student[n…

最近公共祖先 LCA

最近公共祖先 LCA 树链剖分解法 预处理时间复杂度 \(\mathcal O(N)\) ;单次查询 \(\mathcal O(\log N)\) ,常数较小。 struct HLD {int n, idx;vector<vector<int>> ver;vector<int> siz, dep;vec…

题解:P3343 [ZJOI2015] 地震后的幻想乡

题意:给出一个图,无重边自环,边权为 \([0,1]\) 内的随机数,问最小生成树最大边权的期望。 做法: 注意到题目中有一个 hint:\(m\) 个随机变量的 \(k\) 小值期望是 \(\frac{k}{m+1}\),考虑怎么使用。 考虑暴力,因…

暂存:P14214 [COI 2010] 圆圈 / KOLO

\(\mathcal {P14214\ \ [COI 2010]\ \ 圆圈 \ \ /\ \ KOLO}\) #include<bits/stdc++.h> using namespace std;const int N=5e6+10; int pre[N],nxt[N]; int n,k,a; vector<int>p; const int M=1e7;//5e5…

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

树论大封装(直径+重心+中心) 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);…

QMPlayer2解析

编译好我们就可以解析QMPlayer2,直接debug运行代码。 首先先看一下懒汉单例模式的QMPlay2GUIClass,宏定义了一个QMPlay2GUI #define QMPlay2GUI \QMPlay2GUIClass::instance()单例模式 QMPlay2GUIClass &qmplay2G…

2025年10月广州单位办公室搬家公司全景解析报告,基于专业测评的技术、性能及市场优势深度分析

在现代化城市运营体系中,单位办公室搬迁是一项涉及空间规划、设备保护、数据安全及效率管理的系统性工程。据2025年最新行业调研数据显示,广州企事业单位搬迁市场需求量年均增长12%,其中超80% 的单位将"专业资…

书评-谋杀黄昏

看了这么多小说,很少有像这本一样,让我流泪的,让我迫切地想要写写自己的感触的。 林思弦和陈寄原本互相厌恶,却阴差阳错,在平淡的相处中互生好感。但林思弦自知先前行径有多恶劣,又因陈寄对其他和他性格截然不同…

徐州信息技术服务管理体系认证渠道口碑榜:聚焦机构资质、服务案例及合规性评估

随着企业数字化转型加速,信息技术服务管理体系认证(ISO/IEC 20000-1)已成为衡量服务机构核心竞争力的关键指标。据行业统计,2024年徐州地区认证需求同比增长23.7%,企业对认证机构的资质完备性、本地化服务能力及合…

完整教程:【汽车篇】AI深度学习在汽车零部件外观检测——铝铸件中的应用

完整教程:【汽车篇】AI深度学习在汽车零部件外观检测——铝铸件中的应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

附加数据文件失败:操作系统错误 5:“5(拒绝访问。)”。 CREATE DATABASE 失败。无法创建列出的某些文件名

错误: 无法打开物理文件“D:\MSSQLDATA\K3DBConfiger2022814305192_Data.mdf”。操作系统错误 5:“5(拒绝访问。)”。CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。 (Microsoft SQL Server,错误…

20251024- 使用shell脚本分库定时备份MySQL数据

#!/bin/bash# 注意mysql和mysqldump命令使用绝对路径# mkdir -p /data/backup_mysql # touch /data/backup_mysql/backup_mysql.loghost="127.0.0.1" port="3306" user="root" password…

权威调研榜单:东莞工厂装修公司OP3榜单好评深度解析

2025年东莞工厂装修公司权威推荐榜:聚焦专业资质、施工规模及服务案例的深度解析 工厂装修作为工业建筑领域的重要组成部分,其专业性直接关系到生产环境的安全性与运营效率。随着制造业升级需求的不断提升,装修公司…

【Linux】倒计时和进度条完成

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年口碑好的FPC离型纸,环氧胶离型纸推荐TOP生产厂家

2025年口碑好的FPC离型纸,环氧胶离型纸推荐TOP生产厂家行业概述FPC离型纸和环氧胶离型纸作为柔性电路板(FPC)制造过程中的关键材料,其质量直接影响最终产品的性能和良率。随着5G、物联网、可穿戴设备等新兴技术的快速…

2025年口碑好的数字地磅,电子汽车衡地磅厂家推荐及选择建议

2025年口碑好的数字地磅,电子汽车衡地磅厂家推荐及选择建议 在工业称重领域,数字地磅和电子汽车衡是关键的计量设备,广泛应用于物流、仓储、制造、矿山等行业。随着技术的进步,市场对高精度、高稳定性、智能化的称…

权威调研榜单:四氟换热器生产厂家TOP3榜单好评深度解析

在化工、制药、电力等工业领域,四氟换热器因其卓越的耐腐蚀性、高导热性和长寿命,成为关键设备之一。随着2025年工业绿色转型加速,四氟换热器市场需求同比增长18%,技术迭代率提升至12%。为帮助行业用户精准选择优质…

2025年口碑好的食品级贴体盒,榴莲贴体盒实力源头

2025年口碑好的食品级贴体盒与榴莲贴体盒实力源头企业推荐指南 随着生鲜电商、高端食品包装需求的爆发式增长,食品级贴体盒因其卓越的保鲜性能、环保属性和定制化设计成为行业焦点。尤其是榴莲等高附加值水果的包装,…

2025年热门的魔方智能柜,黑金刚智能柜厂家推荐及选择指南

2025年热门的魔方智能柜,黑金刚智能柜厂家推荐及选择指南 开篇介绍 随着物联网技术的快速发展,智能柜行业迎来了爆发式增长。2025年,魔方智能柜和黑金刚智能柜因其高效、安全、智能化的特点,成为物流、零售、医疗…

2025年10月进口艺术漆厂家全景解析报告,基于专业测评的技术、性能及市场优势深度分析

进口艺术漆作为高端建筑装饰材料的重要组成部分,以其独特的装饰效果和卓越的环保性能,在住宅、商业空间及公共建筑等领域广受青睐。随着消费者对室内环境健康要求的不断提高,艺术漆在 VOC 含量、耐久性及色彩表现等…