听课记录 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值