将$f(k)=\sum_{i=0}^{m}a_{i}k^{i}$转换为$f(k)=\sum_{i=0}^{m}b_{i}k^{\underline{i}}$,其中$k^{\underline{i}}=\frac{k!}{(k-i)!}$
题目即求$\sum_{k=0}^{n}c(n,k)x^{k}\sum_{i=0}^{m}b_{i}\cdot k^{\underline{i}}$
调整枚举顺序,即$\sum_{i=0}^{m}b_{i}\sum_{k=0}^{n}c(n,k)x^{k}k^{\underline{i}}$
观察发现$c(n,k)k^{\underline{i}}=\frac{n!}{k!(n-k)!}\frac{k!}{(k-i)!}=\frac{n!}{(k-i)!(n-k)!}=c(n-i,k-i)n^{\underline{i}}$
代入原式,即$\sum_{i=0}^{m}b_{i}n^{\underline{i}}\sum_{k=0}^{n}c(n-i,k-i)x^{k}$
令$k'=k-i$,即$\sum_{i=0}^{m}b_{i}n^{\underline{i}}x^{i}\sum_{k'=0}^{n-i}c(n-i,k')x^{k'}$
观察发现右式即$(x+1)^{n-i}$二项式展开,那么即$\sum_{i=0}^{m}b_{i}n^{\underline{i}}x^{i}(x+1)^{n-i}$
那么问题变为如何求出$b_{i}$,即如何将多项式转换为下降幂多项式【luoguP5383】
根据第二类斯特林数的性质,有$x^{n}=\sum_{i=0}^{n}c(x,i)i!S(n,i)=\sum_{i=0}^{n}S(n,i)x^{\underline{i}}$
那么就有$\sum_{i=0}^{m}a_{i}x^{i}=\sum_{i=0}^{m}a_{i}\sum_{j=0}^{i}S(i,j)x^{\underline{j}}=\sum_{j=0}^{m}x^{\underline{j}}\sum_{i=j}^{m}a_{i}S(i,j)$,即$b_{j}=\sum_{i=j}^{m}a_{i}S(i,j)$
本题由于$m\le 1000$,仅需要根据$S$的递推式暴力求出$S$并$o(m^{2})$计算即可

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 1005
4 int n,x,mod,m,ans,a[N],b[N],s[N][N];
5 int ksm(int n,int m){
6 if (!m)return 1;
7 int s=ksm(n,m>>1);
8 s=1LL*s*s%mod;
9 if (m&1)s=1LL*s*n%mod;
10 return s;
11 }
12 int main(){
13 scanf("%d%d%d%d",&n,&x,&mod,&m);
14 for(int i=0;i<=m;i++)scanf("%d",&a[i]);
15 s[0][0]=1;
16 for(int i=1;i<=m;i++)
17 for(int j=1;j<=i;j++)s[i][j]=(s[i-1][j-1]+1LL*j*s[i-1][j])%mod;
18 for(int i=0;i<=m;i++)
19 for(int j=i;j<=m;j++)b[i]=(b[i]+1LL*a[j]*s[j][i])%mod;
20 int s=1;
21 for(int i=0;i<=m;i++){
22 ans=(ans+1LL*b[i]*s%mod*ksm(x,i)%mod*ksm(x+1,n-i))%mod;
23 s=1LL*s*(n-i)%mod;
24 }
25 printf("%d",ans);
26 }

最新文章

  1. Quartz.net开源作业调度框架使用详解
  2. android Activity介绍
  3. springMVC+spring+hibernate 框架整合实例
  4. C# Form实现自定义光标
  5. BNUOJ 1006 Primary Arithmetic
  6. Redis 安全
  7. Find security bugs学习笔记V1.0
  8. DBCP连接池的使用
  9. sparklyr包:实现Spark与R的接口
  10. 独家分析:安卓“Janus”漏洞的产生原理及利用过程
  11. python学习日记:day11----装饰器进阶
  12. C# 获取ListView中选中行中对应的列数据
  13. GTID复制详解
  14. 获取高精度时间注意事项 (QueryPerformanceCounter , QueryPerformanceFrequency)
  15. 零python基础--爬虫实践总结
  16. Android的Base64的坑
  17. 【转载】 TensorflowOnSpark:1)Standalone集群初体验
  18. Javascript高级编程学习笔记(8)—— 变量
  19. Linux 下 mysql的基本配置
  20. kcon 黑客大会 github

热门文章

  1. 查询windows日志
  2. Python爬取 | 王者荣耀英雄皮肤海报
  3. 几何 三垂模型 及 正方形 及 弦图 及 jio拉jio模型 及 中位线
  4. 题解 [SHOI2012]随机树
  5. 洛谷4072 SDOI2016征途 (斜率优化+dp)
  6. 微信小程序中路由跳转
  7. python中常用的导包的方法和常用的库
  8. 分布式事物SAGA
  9. WPF中的命令(Command)
  10. IDEA 激活码,最新激活码,亲测有效,持续更新(2021.10.26)