博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ3157: 国王奇遇记 & 3516: 国王奇遇记加强版
阅读量:6932 次
发布时间:2019-06-27

本文共 1359 字,大约阅读时间需要 4 分钟。

令\[S_i=\sum_{k=1}^n k^i m^k\]我们有\[\begin{eqnarray*}(m-1)S_i & = & mS_i - S_i \\& = & \sum_{k=1}^n k^i m^{k+1} - \sum_{k=1}^n k^i m^k \\& = & \sum_{k=2}^{n+1} (k-1)^i m^k - \sum_{k=1}^n k^i m^k \\& = & n^i m^{n+1} + \sum_{k=1}^n m^k\big( (k-1)^i - k^i\big) \\& = & n^i m^{n+1} + \sum_{k=1}^n \bigg( \sum_{j=1}^{i-1} (-1)^{i-j}{i \choose j}k^j m^k \bigg) \\& = & n^i m^{n+1} + \sum_{j=0}^{i-1} (-1)^{i-j}{i \choose j} S_j\end{eqnarray*}\]直接按照这条式子\(O(m^2)\)递推即可。

P.S. 来自

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 typedef long long LL; 7 const LL mod=1000000007; 8 inline LL sqr(LL num){
return num*num;} 9 LL mexp(LL a,LL b,LL p){
return b?sqr(mexp(a,b>>1,p))%p*((b&1)?a:1)%p:1;}10 LL fac[1100],facinv[1100],powm1[1100];11 LL C(LL n,LL r){
return fac[n]*facinv[r]%mod*facinv[n-r]%mod;}12 LL n,m,s[1100];13 int main(int argc, char *argv[])14 {15 cin>>n>>m;16 if(m==1){cout<
=1;i--)facinv[i]=facinv[i+1]*(i+1)%mod;20 powm1[0]=1;for(int i=1;i<=m;i++)powm1[i]=powm1[i-1]*-1;21 s[0]=((mexp(m,n+1,mod)-m)%mod+mod)%mod*mexp(m-1,mod-2,mod);22 for(int i=1;i<=m;i++)23 {24 s[i]=mexp(n,i,mod)*mexp(m,n+1,mod)%mod;25 for(int j=0;j

 

转载于:https://www.cnblogs.com/zhuohan123/p/3726933.html

你可能感兴趣的文章
20165239其米仁增第一周查漏补缺
查看>>
CPU利用率与Load Average的区别
查看>>
Elasticsearch-head使用及ES相关概念
查看>>
湖南2013第九届省赛解题报告(长期拖延更新中。。。)
查看>>
docker-machine基础应用
查看>>
Android NDK开发(1)----- Java与C互相调用实例详解
查看>>
《人月神话》读书笔记之开篇
查看>>
python时间模块总结
查看>>
html基础学习02
查看>>
git commit之后撤销
查看>>
java web Excel下载导出功能
查看>>
机器学习术语
查看>>
0513PDO
查看>>
图像视觉方面优先的个人博客和研究所
查看>>
【HDU2007】平方和与立方和
查看>>
topcoder srm 470 div1
查看>>
Spark RPC框架源码分析(一)简述
查看>>
colab 打开 github中的jupyter notebook 文件
查看>>
关于莫队算法的总结
查看>>
受检查的异常和不受检查的异常
查看>>