[总结]CDQ分治&整体二分

从昨天到现在除了90%的颓废时间一直在研究一些分治的姿势,主要就是CDQ分治和整体二分。
首先推荐一些学习资料:
陈丹琦 《从 < Cash > 谈一类分治算法的应用》
许昊然 《浅谈数据结构题的几个非经典解法》
百度一下就可以get


CDQ分治

CDQ分治的关键在于,每个子问题不仅是解决它自身,并且用前一个子问题来求解后一个子问题。常用来将一些动态的问题转化到静态来解决,使问题处理起来更加方便。
使用CDQ分治需要满足一定的条件:

  1. 题目允许离线操作
  2. 修改操作对询问的贡献独立,且修改之间互不影响
  3. 修改对答案的贡献是确定的,与判定标准无关

NOI2007货币兑换是一个用数据结构维护DP决策的问题,它满足CDQ分治的条件。BZOJ1176Mokia是一个在线用数据结构维护一些数据信息的问题,我们可以转为离线操作,简化操作。BZOJ3262陌上花开是一个用数据结构维护三维偏序的问题,我们可以用CDQ分治来替代一维数据结构,避免写树套树这种二维数据结构。
CDQ分治在维护一些动态的凸包、半平面交问题也有一定应用,然而我这个计算几何幼儿园水平的连静态半平面交都不会,以后再学吧。


整体二分

二分是O

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值