随笔分类 - 分治—整体二分
摘要:整体二分: 对于每一个修改操作,标记为1,并且加一个标记为 1的这个位置原来值,并且对于a数列每个点都当成修改操作 然后整体二分,扫当前操作区间lr,把在值域区间标记为1和 1的操作都在树状数组对应位置上加/减出来,然后询问操作根据k和询问答案大小决定放在哪部分传下去 cpp include inc
阅读全文
摘要:脑子一抽开始写主席树,敲了一会发现不对…… 整体二分,用二维树状数组维护值为当前区间的格子个数,然后根据k的大小和当前询问的子矩阵里的值和k的大小关系来决定这个询问放在哪一部分向下递归 cpp include include include using namespace std; const in
阅读全文
摘要:树套树: 约等于是个暴力了。以区间线段树的方式开一棵权值线段树,在权值线段树的每一个点上以动态开点的方式开一棵区间线段树。 结果非常惨烈(时限20s) cpp include include include include include using namespace std; const int
阅读全文