热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

数论分块【数学】

数论分块数论分块也是很重要哦(dalao说以后莫比乌斯反演要用到)经典栗子:fori1~n求∑x(ni)(注:这里()表示为下取整)普通人一般暴力,复杂度O(n
数论分块

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

 

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

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

这里就要用到数论分块。

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

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

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

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

 

 

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

 

推荐裸题:BZOJ2956 模积和

 


推荐阅读
author-avatar
情都欧阳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有