非常好的 exp 优化背包
首先背包不可优化。
考虑先求出 ln(∏i=1n1−xpi),再 exp 还原多项式即可。
又可知上述式子可被化为 ∑i=1nln(1−xpi),然后就是一个很妙但好像很典的东西:
如何得到?
设 F(x)=ln(1−x),考虑求出 F(1)(x)=(1−x)−1,F(2)(x)=(1−x)−2,F(3)(x)=2(1−x)−3。
所以 F(k)(x)=(k−1)!(1−x)−k
在 0 点处泰勒展开:
对于 ln(1−xy) 同理,可得 ln(1−x)=∑i=1xiyi。
所以相当于对 y 的倍数(iy)加上 1i,这个直接调和级数,复杂度是 O(nlogn)。 然后套个 exp 板子即可。
orz
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】