Processing math: 100%

最高科技——疯狂的前缀和

Nk=1fk

显然这玩意是可以O(N)的,看起来也不能再优化了。

但是在这个宇宙中确实还存在着更快的算法……

gn=d|nfd,Fn=nk=1fk

因为Nk=1gk=Nk=1fkNk=Nk=1FNk

整理得到FN=Nk=1gkNk=2FNk

如果能够在 O(N)的时间内求出Nk=1gk,那么可以在O(N34)的时间内计算出F(N)

Nk=1gk对于某些特殊的gk能做的很快,例如Nk=1d|kμ(d)=1Nk=1d|kϕ(d)=Nk=1k=N(N+1)2

如果gn能够很快的计算,那么可以对于nN23线性暴力计算Fn,否则递归计算,可以做到O(N23)

posted @   zhuohan123  阅读(3337)  评论(2编辑  收藏  举报
编辑推荐:
· Brainfly: 用 C# 类型系统构建 Brainfuck 编译器
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
阅读排行:
· Tinyfox 发生重大改版
· DeepSeek 全面指南,95% 的人都不知道的9个技巧(建议收藏)
· 对比使用DeepSeek与文新一言,了解DeepSeek的关键技术论文
· Brainfly: 用 C# 类型系统构建 Brainfuck 编译器
· DeepSeekV3+Roo Code,智能编码好助手
点击右上角即可分享
微信分享提示