= i
的 j 的数量,特别的,我们称 j 在偏序意义下 < i, f(i) 其实就是偏序意义下 < i 的点的个数....因为分治是通过不断的二分缩小问题规模,所以分治的次数是 的, 即树高 , 而树的每层的节点包含的元素总个数都是 n , 所以如果每次分治处理 这n个元素的复杂度是 O(n) 的话,则分治算法的复杂度就是...即如果本题不是三维偏序,仅仅是一维偏序的话,就太容易了,一个sort就完了. 事实上,一维偏序就是全序.
如果是二维偏序呢?...所以CDQ分治归并答案的复杂度是 ,所以CDQ分治的总时间复杂度是 ,空间复杂度显然是 ,虽然复杂度和树套树一样,但是因为过程中使用的是一维树状数组,所以常数会比树套树小得多,事实上,跑的也会比树套树快的多...A, 第二个 (1,3,1)点为B, 则假设排序后 A在 B 前面, 则偏序意义下比A小的点就是0个,偏序意义下比B小的点的个数是1个, 所以答案如上.