【笔记】树的分治
来源:互联网 发布:在线网络信托基金公司 编辑:程序博客网 时间:2024/05/16 15:40
暑假的时候WTH大神就讲过思想了QAQ(顺带Orz Fuckstrom 自悟)
树的分治,简单地说,就是把树分为好几个,对于每个递归处理后,再计算整棵树的答案,也就是序列上的分治思想放到了树上。树的分治分为点分治和边分治。
点分治,即为把某个点删除后,树分为好多棵,对那些树处理然后计算答案。
边分治即割掉边,把树分为两棵,然后进行处理。
点分治中被删除的点应该选重心,这样树最多被分logn次,若每次处理当前树都是O(n)的,总复杂度为O(nlogn),边分治同理。
但点分治会把树分为好多棵,极限情况下(菊花图)可以被卡成O(n^2)。而边分治可以保证分成两棵,比点分治更优,但碰到菊花图依然是O(n^2)。
可以通过加【无用点】来改变树的形态但不影响答案,来改善时间复杂度,强行转为二叉树,这样就能保证O(nlogn)。
2 0
- 【笔记】树的分治
- 学习笔记:树分治
- 树的分治-点分治
- POJ1741树的分治之点分治
- 树的分治
- POJ1655 【树的分治】
- hdu4670 树的分治
- 树的点分治
- poj1741树的分治
- 树的点分治
- 树的直径、树的重心与树的点分治学习笔记
- 树分治-点分治
- 树的分治 poj 1741
- POJ 1741 树的分治
- POJ 2114 树的分治
- poj1741 树的点分治
- poj 1741 (树的分治)
- 树基于点的分治
- 硬盘中内存芯片
- 基于jmeter和shell的接口性能自动化
- windows下安装jekyll教程
- Elasticsearch学习笔记
- 时间的处理(时间差的显示)
- 【笔记】树的分治
- ssh免密码登录
- 网络字节顺序
- log4j sql
- ==和equals的比较
- uva548解题报告
- java批量删除
- Combination Sum I/II - Leetcode
- 一个值得珍藏的网站