摘要: 多维KDtree板子 左右儿子的估价用mn~mx当区间,假设区间里的数都存在;k维轮着做割点 cpp include include include include include include using namespace std; const int N=50005; int n,k,m,r 阅读全文
posted @ 2018-12-10 20:41 lokiii 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 其实理论上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的放在 阅读全文
posted @ 2018-12-10 19:04 lokiii 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 不太清楚是不是动态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表示 阅读全文
posted @ 2018-12-10 07:57 lokiii 阅读(332) 评论(1) 推荐(1) 编辑