删本地文件的时候瞟了一眼内容 ... 这篇好像忘记发布了?
给定 n,k, 求出
ans=n∑i=0(ni)ikmod(109+7).
k≤5×103, n≤109.
ans=n∑i=0(ni)k![xk]eix=kn.
EI 提供了一种规避高次幂计算的方法. 其本质是构造常数项为 0 的多项式, 再利用欲提取的系数位置 k≪n 来降低幂次. 这里, 令 F(z)=(z+1)n, 并设 F(z+1)=F(z+1)modzk+1. 我们最终向 F(z+1) 代入的是 z=ex−1, 由于 [x0](ex−1)=0, 所以可以对 F(z+1) 进行截断操作, 将目标转化为求 F(z+1).
考虑 F(z+1) 的 ODE 与 F(z+1) 的 ODE 的关系:
(2+z)F′(z+1)−nF(z+1)=0⇒(2+z)F′(z+1)−nF(z+1)=−2zk[zk]F′(z+1)=−2n(n−1k)2n−1−kzk=(k−n)(nk)2n−kzk.
目标是求 F(z+1) 的各项系数. 令 t=z+1, 左右提取 [ti] 得
(i+1)[ti+1]F(t)+i[ti]F(t)−n[ti]F(t)=(k−n)(nk)2n−k(ki)(−1)k−i⇒[ti+1]F(t)=1i+1((k−n)(nk)2n−k(ki)(−1)k−i+(n−i)[ti]F(t)).
不过还需要求出 [t0]F(t). 注意 [zi]F(t) 非常好求, 拿它来表示 [t0]F(t):
[t0]F(t)=k∑i=0[zi]F(t)⋅(−1)i=k∑i=0(ni)2n−i(−1)i.
最终
ans=k![xk]F(ex)=k∑i=0ik[ti]F(t).
可以做到 O(k).
喷一下洛谷日报, 跳过转化性的步骤留下初等的化简步骤, 真的很 confusing 呐.
给定 n,k, 求出
ans=n∑i=0fiikmod(109+7),
其中 f 为 Fibonacci 数列, f0=f1=1.
n≤1017, k≤40.
和上一题差不多, 令 F(x) 为 Fibonacci 数列的 OGFmodxn+1 所得多项式, 则
ans=k![xk]F(ex).
分离 ex 的常数项 ex=(ex−1)+1, 则进行截取
F(z+1)=F(z+1)modzk+1.
对于 F(z), 有
F(z)=1−fn+1zn+1−fnzn+21−z−z2.
设 P(z)=1−fn+1zn+1−fnzn+2, 于是
F(z+1)=−P(z+1)1+3z+z2modzk+1.
问题是我们啥也不会求 ... 从 P(z+1) 开始, 设 P(z+1)=P(z+1)modzk+1. 注意截断 P(z+1) 的主要矛盾不过是截断 Gn(z+1)=(z+1)n. 而这玩意儿可以和刚才一样建立 ODE 并进行扰动求出. 具体地:
(z+1)G′n(z+1)−nGn(z+1)=0⇒(z+1)G′n(z+1)−nGn(z+1)=−nzk[zk](z+1)n−1=(k−n)(nk)zk.
提取系数, 据此可以递推求出 Gn(z+1) 的系数, 继而求出 P(z+1).
此后, 写出 F 的线性递推:
F(z+1)=3zF(z+1)+z2F(z+1)−P(z+1)⇒[zi]F(z+1)=−3[zi−1]F(z+1)−[zi−2]F(z+1)−[zi]P(z+1).
考虑取模在 F 上带来的扰动:
[zi]F(z+1)=−3[zi−1]F(z+1)−[zi−2]F(z+1)−[zi]P(z+1)+[i=k+1]⋅(3[zi−1]F(z+1)+[zi−2]F(z+1))+[i=k+2]⋅[zi−2]F(z+1).
注意小细节, F(z+1)=F(z+1)modzk+1 是定义, 我们需要在递推上作修补让递推符合这一定义, 而非直接将 zk+1 等项忽略.
令 a=3[zk]F(z+1)+[zk−1]F(z+1), b=[zk]F(z+1), 那么
F(z+1)=−P(z+1)−azk+1−bzk+21+3z+z2⇒F(z)=P(z)−a(z−1)k+1−b(z−1)k+21−z−z2.
还是线性递推. 将其求出再同上题一样代回即可求出答案. 复杂度 O(k).
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2020-10-13 Solution -「NOI 2018」「洛谷 P4768」归程