神 (hzwer) 的讲解无敌了:hzwer。
分块
洛谷P4135 作诗 代码
记录 (f_{l,r}) 表示 (l) 块到 (r) 块的答案,边扫边求。其余就是暴力 (+) 合并。
Violet 蒲公英 代码
同上套路,只是细节较多。。对拍了好久。
Ynoi2019 Yuno loves sqrt technology III 代码
很巧妙的分块,是 Violet 蒲公英 的加强版。同样维护 (f_{l,r}),用 ( t vector) 代替 (c) 数组存 (a_i) 相等的数的下标。然后多块合并答案的时候就 (Theta(Delta ans+sqrt n)) 地枚举答案的增加。
根号分治
Almost Neighbour Queries 代码
根号分治点度,用 ( t set),( t bitset) 等骚操作优化。