数论分块 【数学】

数论分块

数论分块也是很重要哦(dalao说以后莫比乌斯反演要用到)

 

经典栗子: for i=1~n  求 ∑x=(n/i)  (注:这里()表示为下取整)

普通人一般暴力,复杂度 O(n)

这里就要用到数论分块。

我们可以模拟一下, 发现 x 在一定的区间内值不变。

这里就可以分块了。把值不变的每一块左端点、右端点算出来,就可以等差数列一起求和了。

注:分块大小: n/(n/i)下取整。

这里转载一下别的dalao的图片(关于证明):

 

 

这只是数论分块入门应用,后续待填坑。。。

 

推荐裸题:BZOJ2956 模积和

 

posted on 2018-10-28 14:16  Frank-King  阅读(451)  评论(0编辑  收藏  举报