杜教筛如何推式子/堆柿子
来源:互联网 发布:mysql 时间戳 编辑:程序博客网 时间:2024/04/29 22:35
对于求数论函数f的1..n前缀和,可以找另一个好求前缀和的函数g,配成狄利克雷卷积。
首先你要有一个好求的狄利克雷卷积前缀和类似
(因为就像一个常数,不需要参与化简)。
然后我们考虑将其化简,目的是变出个sum(f(1..n)),然后将剩下的一大堆好求的东西移到另外一边去。
想要不走弯路化简,则先枚举另外函数自变量b,再枚举被求函数f的自变量i ,以便配出sum(f(1..n))的形式(即上式中的i=下式中的bi)
限制的意思是(ib<=n),再化简
很好,出现了一个可以分块的n/b.
看到没有,当b取1的时候我们所求sum(f(1..n))就出现了,将他拿出来。
整理一下我们的成果
移项得出最后的式子
这就是最终的结果了owo
因为我们一开始选用的函数g的前缀和就可以高效率求,
复杂度是
该分块的分块,再加上记忆化sum(i),达到
只要预处理n的2/3次方的sum(i) (证明???),复杂度可以进一步优化成
阅读全文
0 0
- 杜教筛如何推式子/堆柿子
- 多式子递推poj2545 poj2591 poj1338
- BZOJ 1045 && BZOJ 1465 【推式子乱搞
- UVA11137 Ingenuous Cubrency 完全背包 递推式子
- jzoj3872 圣诞树 [转化问题+推式子、点分治]
- nefuoj1249|洛谷P2345-树状数组&推式子-你牛
- 洛谷3678:简单的数学题(画柿子+杜教筛)
- 摘柿子
- 如何根据一个式子判断是什么进制
- BZOJ 1008 越狱 计数问题(必须练习自己的推式子能力!
- 一些式子
- [001]炸柿子
- 那片柿子林
- 牛肉柿子汤
- 堆排序及推排序实现[原创]
- 数据结构之“堆”及推排序
- 如何辨认一个复杂声明表达式子中变量的类型?
- 如何辨认一个复杂声明表达式子中变量的类型?
- SecureCRT中文乱码问题解决方案
- ACM算法:树状数组(详细)
- C++ SOCKET通信模型(六)同步epoll
- UVA 748
- SPI总线和I2C总线的异同点
- 杜教筛如何推式子/堆柿子
- 分布式Web服务器架构分析
- Day001---普林斯顿微积分读本---java网络编程
- urllib2的三种用法
- Redhat 6.5 使用rpm安装vlc
- UVA 10494
- BMC ipmitool 对linux服务器进行IPMI管理
- 通过AsyncTask下载网络图片
- BZOJ1176: [Balkan2007]Mokia(CDQ分治)