# 根号算法![](https://img2018.cnblogs.com/blog/1431596/201811/1431596-20181104214037752-2035982817.png)
这道题暴力92pts。。。
所以说暴力出奇迹!
---
其实用什么哈希都是在做幌子,要你求的就是从$k$位置开始,隔$p$个数的数字加起来的和。
我们考虑用一个二维数组存下来,用$ans[p][k]$表示模数为$p$,余数为$k$的答案。
如果把所有的模数都处理,跟暴力是没有差别的,甚至还会更劣。
但其实我们只要处理$\sqrt{n}$内的模数即可。
小于$\sqrt{n}$的我们直接输出数组的值,大于的直接暴力求解。
因为这个$p$已经大于了$\sqrt{n}$,所以我们暴力一次的复杂度是小于$\sqrt{n}$的。
所以就搞定了!!
代码:
```cpp
#includeP3396 哈希冲突
原文:https://www.cnblogs.com/Garen-Wang/p/9906084.html