摘要:
多维KDtree板子 左右儿子的估价用mn~mx当区间,假设区间里的数都存在;k维轮着做割点 cpp include include include include include include using namespace std; const int N=50005; int n,k,m,r 阅读全文
摘要:
其实理论上cdq更优 核心是依次取x值、y值的mid作为当前节点,向两边递归建立二叉树,树上维护size:子树大小;mx[0/1]:子树内最大x/y;mn[0/1]:子树内最小x/y;d[0/1]:这个点的x/y; 建树的时候用到nth_element,用处是把第k个数放到k位置,并且把小于k的放在 阅读全文
摘要:
不太清楚是不是动态dp……? 这个维护其实和最大连续子段差不多,维护l[x][y],r[x][y],m[x][y]分别表示包含左儿子的01个数为(x,y)的区间个数,包含右儿子的01个数为(x,y)的区间个数,和01个数为(x,y)的所有区间个数 x表示1的个数情况,0表示0个,1表示1个,2表示 阅读全文