【模板】三维偏序(陌上花开)

发布时间 2023-07-28 21:40:37作者: wscqwq

P3810 【模板】三维偏序(陌上花开)

考虑 CDQ 分治。

考虑简单情况。

  1. 一维偏序,排序即可,复杂度 \(O(n\log n)\)
  2. 二维偏序,排序后使用树状数组离散化后维护(参考逆序对,特点是已经将第一维排序过了)。
  3. 二维偏序,排序后使用归并排序(参考逆序对,特点是已经将第一维排序过了)。

考虑三维偏序,我用先用3.的做法,然后在归并的过程中套用树状数组即可。对于重复的元素,我们记录在一个数的信息中,最后处理一下加上自己的这一类的个数 \(-1\) 即可。

时间复杂度 \(O(n\log^2n)\)

code