• 听课记录 210220【分治,树分治,CDQ分治】


    sszx dzy 20%

    分治

    分而治之

    归并排序

    分治思想的最简单体现,将具有特征的问题分解成子问题,子问题可用同样方法(即递归)处理。对于子问题之间的联系,特殊处理。

    求逆序对

    与归并排序密不可分,例:

    1 2 3 4   1 2 3 4
    1 2 3 4   5 6 7 8
    

    主定理

    求递归式的时间复杂度

    平面上的分治

    在平面上按x坐标排序分治,再在归并排序过程中考虑y坐标。

    练习题

    CF480E

    树分治

    求树上距离不大于k的点对个数,即路径。树分治就是解决树上路径问题的高效算法。

    分为点分治和边分治

    练习题

    SPOJ FTOUR2(求选择不超过k个黑点的路径最大权值):点分治

    BZOJ2152(求2个点之间路径权值和是3的倍数的概率):

    BZOJ1758():分数规划+长链剖分

    CDQ分治

    CDQ分治需要题目支持离线算法,且修改操作互不影响

    例题:陌上花开(BZOJ3262)

    Des:求比每个元素的三种属性都小的元素个数
    Sol:CDQ分治

    练习题

    BZOJ1176(维护矩阵,支持单点修改和范围查询):

    BZOJ3295,CQOI2011(动态逆序对:CDQ分治经典例题,删除元素的同时求逆序对个数):

    BZOJ2716/2648(SJY摆棋子:在棋盘上放下黑棋和白棋,对于白棋输出这个白棋和离它最近的黑棋之间的距离,此处的近和距离指曼哈顿距离):二维偏序||kdtree

    总结

    题单:https://www.luogu.com.cn/training/57283

  • 相关阅读:
    JavaScript获取查询字符串
    Struts2 验证码图片实例
    js函数重载
    js面向对象基础
    js上下文
    java克隆入门和深入
    js类型检查
    js闭包
    Phonegap移动开发:布局总结(一) 全局
    Python发送多附件邮件的方法
  • 原文地址:https://www.cnblogs.com/huaruoji/p/14425559.html
Copyright © 2020-2023  润新知