CDQ分治

简介

(CDQ)分治是由国家队选手陈丹琦在(08)年提出的一种基于时间的离线分治算法。因而得名。

可以在某些问题中取代诸如(k-d tree)的高级数据结构。


前置知识

归并排序


实现思路

CDQ分治的大体思路如下:

  1. 统计左区间答案。

  2. 统计右区间答案。

  3. 统计左区间对右区间产生的影响。

因为CDQ分治基于时间,所以后面的操作不可能对前面的操作产生影响。

只要所求的答案满足:后面的答案基于前面的答案,且不影响前面的答案,那么便可以使用CDQ分治求解。

三维偏序问题是其中典型的一类。


代码

详见陌上花开

原文地址:https://www.cnblogs.com/ilverene/p/11373428.html