降维方法
- 可持久化
条件:静态问题,且一般都是在线,因为可以离线的话,通常会用各方面更优的离线(分治)算法。
减少一个维度后,时间复杂度去掉一个log
对于二维问题,可持久化一维,如:二维数点用可持久化线段树在线维护
对于三维问题,选一个维度可持久化,即可持久化树套树,但不会写,应该不考。 - 扫描线(排序一维)
条件:可离线
减少一个维度后,时间复杂度去掉1个log - cdq分治
适用范围:将动态问题转化为静态问题,时间复杂度多1个log
搭配2可以将一个d维的动态问题,用\(O(n\log^d n)\)的时间复杂度,\(O(n)\)的空间复杂度解决。