Day8(分块)

Problem 1

1.带修改的主席树+平衡树,维护前驱:每修改一个数会导致三个数的前驱改变,对每个值开平衡树,存放每个值的位置在哪

2.分块,维护前驱,开一个数组表示每个块内排序后的结果,两边暴力,中间二分

O(2s+(N/s)*logs) s=sqrt(N*logN)

法二:f[i][j]为从i到j的块的set,把set换成可持久化线段树或可持久化平衡树

或f[i][j]存i块到j块颜色个数

g[i][c] 前面i个块c颜色出现的次数,前缀和维护??

3.莫队

f[i][j]

猜你喜欢

转载自www.cnblogs.com/wifimonster/p/10237253.html