#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>usingnamespace std;inlineintgi(){registerint data =0, w =1;registerchar ch =0;while(!isdigit(ch)&& ch !='-') ch =getchar();if(ch =='-') w =-1, ch =getchar();while(isdigit(ch)) data =10* data + ch -'0', ch =getchar();return w * data;}constint Mod =1004535809;intfpow(int x,int y){int res =1;while(y){if(y &1) res =1ll* res * x % Mod;
x =1ll* x * x % Mod;
y >>=1;}return res;}constint G =3, iG =fpow(G, Mod -2);constint MAX_N =1e7+5, MAX_M =1e5+5;int fac[MAX_N];intC(int n,int m){if(m > n)return0;return1ll* fac[n]*fpow(fac[n - m], Mod -2)% Mod *fpow(fac[m], Mod -2)% Mod;}int N, M, S, Limit, mx;int W[MAX_N], A[MAX_N <<2], B[MAX_N <<2], rev[MAX_N <<2];voidNTT(int*p,int op){for(int i =0; i < Limit; i++)if(rev[i]> i)swap(p[rev[i]], p[i]);for(int i =1; i < Limit; i <<=1){int rot =fpow(op ==1? G : iG,(Mod -1)/(i <<1));for(int j =0, pls =(i <<1); j < Limit; j += pls){int w =1;for(int k =0; k < i; k++, w =1ll* w * rot % Mod){int x = p[j + k], y =1ll* w * p[i + j + k]% Mod;
p[j + k]=(x + y)% Mod, p[i + j + k]=(x - y + Mod)% Mod;}}}}intmain(){
N =gi(), M =gi(), S =gi();for(int i =0; i <= M; i++) W[i]=gi();
mx =max(N, M);
fac[0]=1;for(int i =1; i <= mx; i++) fac[i]=1ll* fac[i -1]* i % Mod;int mn =min(M, N / S);
Limit =1;int P =0;while(Limit <(mn +1)<<1) Limit <<=1,++P;for(int i =0; i <= mn; i++)
A[i]=1ll* fac[i]*C(M, i)% Mod *
fac[N]% Mod *fpow(M - i, N - i * S)% Mod *fpow(1ll*fpow(fac[S], i)* fac[N - i * S]% Mod, Mod -2)% Mod;for(int i =0; i <= mn; i++){
B[i]=fpow(fac[mn - i], Mod -2);if((mn - i)&1) B[i]= Mod - B[i];}for(int i =0; i < Limit; i++) rev[i]=(rev[i >>1]>>1)|((i &1)<<(P -1));NTT(A,1),NTT(B,1);for(int i =0; i < Limit; i++) A[i]=1ll* A[i]* B[i]% Mod;NTT(A,0);int inv =fpow(Limit, Mod -2);for(int i =0; i < Limit; i++) A[i]=1ll* inv * A[i]% Mod;int ans =0;for(int i =0; i <= mn; i++) ans =(ans +1ll* W[i]* A[mn + i]% Mod *fpow(fac[i], Mod -2)% Mod)% Mod;printf("%d\n", ans);return0;}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 2025成都.NET开发者Connect圆满结束