作者:情都欧阳 | 来源:互联网 | 2023-05-18 03:28
数论分块数论分块也是很重要哦(dalao说以后莫比乌斯反演要用到)经典栗子:fori1~n求∑x(ni)(注:这里()表示为下取整)普通人一般暴力,复杂度O(n
数论分块
数论分块也是很重要哦(dalao说以后莫比乌斯反演要用到)
经典栗子: for i=1~n 求 ∑x=(n/i) (注:这里()表示为下取整)
普通人一般暴力,复杂度 O(n)
这里就要用到数论分块。
我们可以模拟一下, 发现 x 在一定的区间内值不变。
这里就可以分块了。把值不变的每一块左端点、右端点算出来,就可以等差数列一起求和了。
注:分块大小: n/(n/i)下取整。
这里转载一下别的dalao的图片(关于证明):
这只是数论分块入门应用,后续待填坑。。。
推荐裸题:BZOJ2956 模积和