[省选联考 2020 A 卷] 组合数问题
求
(n∑k=0f(k)×xk×(nk))modp
其中 n, x, p 为给定的整数,f(k) 为给定的一个 m 次多项式
f(k)=a0+a1k+a2k2+⋯+amkm
1≤n,x,p≤109,0≤ai≤109,0≤m≤min(n,1000)。
看到这题肯定是推式子,把枚举量变成与 n 无关的形式
看到什么 xk 想到斯特林数,但是下降幂搞他没有用
考虑问题的关键在于 k, 而多项式中还有与 k 相关的东西,于是对他做文章
先把多项式展开
=n∑k=0m∑i=0fi×ki×xk×(nk)
=m∑i=0fin∑k=0ki×(nk)×xk
把 ki 转下降幂
=m∑i=0fin∑k=0min(k,i)∑j=0{ij}kj–(nk)xk
把组合数拆开消一下,再写成组合数得到
=m∑i=0fin∑k=0min(k,i)∑j=0{ij}nj–(n−jk−j)xk
变 k 为枚举 k−j
=m∑i=0fin−j∑k=0i∑j=0{ij}nj–(n−jk)xk+j
=m∑i=0fii∑j=0{ij}nj–xjn−j∑k=0(n−jk)xk
=m∑i=0fii∑j=0{ij}nj–xj(x+1)n−j
于是做完了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】