码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 点分治介绍


    一 重心

    树的重心又叫树的质心:对于一颗 n 个节点的无根树,找到一个点,使得把树变成以该节点为根的有根树时,最大子树的节点数最少。换句话说,删除这个节点后最大连通块(一定是树)的节点数最少。

    树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。

    树可能存在多个重心,如图所示。

    1 当去掉 1 后,树将分成两个连通块

    (2,4,5)

    (3,6,7)

    最大连通块包含节点个数为 3。

    2 当去掉 2 后,则树将分成 3 个部分。

    (4)

    (5)

    (1,3,6,7)

    最大的连通块包含 4 个节点。

    第一种方法可以得到更小的最大联通分量。可以发现,其他方案不可能得到比 3 更小的值了,点 1 就是树的重心。

    二 分治法

    分治法指将规模较大的问题分解为规模较小的子问题,解决各个子问题后合并得到原问题的答案。树上的分治算法分为点分治和边分治。点分治经常用于带权树上的路径统计,本质上是一种带优化的暴力算法,并融入了容斥原理。对树上的路径,并不要求这棵树是有根树,无根树不影响统计结果。

    分治法的核心是分解和治理。那么如何分?如何治?

    数列上的分治法,通常从数列中间进行二等分,也就是说分解得到的两个子问题规模相当。若将 n 个数分解为1、n-1,则分治法会退化为暴力穷举,那么对树怎么划分呢?

    对树的划分要尽量均衡,不要出现一个子问题太大,另一个子问题太小的情况。也就是说,期望划分后每棵子树的节点数都不超过 n/2。那么选择哪个节点作为划分点呢?可以选择树的重心。树的重心指删除该节点后得到的最大子树的节点数最少。

    三 定理

    删除重心后得到的所有子树,其节点数必然不超过 n/2。

     

  • 相关阅读:
    预测商品销量kaggle-predict-future-sales
    [附源码]计算机毕业设计JAVA基于JSP学生信息管理系统
    LCR 013. 二维区域和检索 - 矩阵不可变(java)
    php+mysql实现补齐24小时时间段同时赋值0的后端解决方案
    财政政策与货币政策(下)
    控制台中查看莫格命令的详细信息
    node-sass报错,node16运行node14的项目
    LeetCode刷题复盘笔记—一文搞懂纯完全背包问题(动态规划系列第十一篇)
    RT-Thread 4. ENV安装
    MSNs-SS-siRNA二氧化硅-二硫键-核酸RNA|HA-SS-siRNA,hyaluronic acid透明质酸修饰RNA(RNA修饰剂)
  • 原文地址:https://blog.csdn.net/chengqiuming/article/details/127443268
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号