P3396 哈希冲突 分析 & 根号分治
根号分治是一种暴力的算法:将问题以
对于本题,我们如果纯使用暴力来做,那么代码类似于:
查询:
int x, y, res = 0;
...
for (int i = y; i <= n; i += y) res += a[i];
修改:
seq[x] = y;
查询是
我们容易发现:当
分界线是什么呢?明显是使得两边复杂度都最小的值,就是
这就是根号分治,是一种“分而治之”的思想。
根号分治是一种暴力的算法:将问题以
对于本题,我们如果纯使用暴力来做,那么代码类似于:
查询:
int x, y, res = 0;
...
for (int i = y; i <= n; i += y) res += a[i];
修改:
seq[x] = y;
查询是
我们容易发现:当
分界线是什么呢?明显是使得两边复杂度都最小的值,就是
这就是根号分治,是一种“分而治之”的思想。