zoukankan      html  css  js  c++  java
  • 点分治

    谨代表本蒟蒻个人观点,若有错误请大佬指正。

    如果你是初学者,请到大佬的博客中观摩,这里是蒟蒻口胡

    树和序列都可以认为是某种顺序结构,其中树形结构可以描述一种二位上改变的关系,同样可以表示一种顺序的逻辑。

    所以说这和点分治有什么关系QAQ

    其实没什么关系。

    分治结构基于区间答案可快速合并和区间子问题的高度相似性。

    树上也是这样。

    好吧扯远了。

    考虑如何二分一棵树。

    为什么要二分?QAQ回去看归并排序去。

    那么也就是希望子区间规模相近以达到均衡时间复杂度的目的。

    由于时间复杂度是相加的,所以最坏的复杂度取决于最大的那块。

    所以在分治过程中,最优策略就是使最坏问题最理想。

    最优划分,根据上面的推理,那就递归处理一颗树时得到其重心,在二分处理时,递归处理子树重心。

    故基础时间复杂度为nlogn

    合并答案有好几种方法,有些容斥的我就不是很喜欢了但是很好写。

    最好是子树分开处理累计答案,就不需要容斥了。

    可以有多种形式:(参见CDQ分治方法)

    其实只是一种分治结构,可以有很多种方法哈)

  • 相关阅读:
    android AndroidManifest.xml package名
    java 空字条串空判断 效率
    ant
    android post 提交数据
    BI 商务智能软件 数据分析
    swfupdate flash上传工具
    log4j 使用方法
    java vc vb 项目结构
    时间单位
    iphone命令行编译xcodebuild
  • 原文地址:https://www.cnblogs.com/blog-Dr-J/p/10159364.html
Copyright © 2011-2022 走看看