数位DP,然而式子真的复杂

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int mod=20130427;
int ans,B,N,A[100005],Suf[100005][2],Szsuf[100005][2],Sum[100005][2],a[100005];
int calc(){
int suf=0,sum=0;
for (int i=1; i<=N; i++){
suf=(1ll*suf*B%mod+1ll*A[i]*i%mod)%mod;
(sum+=suf)%=mod;
}
return sum;
}
int solve(){
for (int i=1; i<=N; i++){
int C=B;
if (i==1) C=0;
a[i]=1ll*(C-1)+1ll*a[i-1]*B%mod+A[i];
a[i]%=mod;
Szsuf[i][0]=Szsuf[i-1][0]+1;
Szsuf[i][0]%=mod;
Szsuf[i][1]=1ll*C-1+1ll*(Szsuf[i-1][1]+a[i-1])*B%mod+1ll*(Szsuf[i-1][0]+1)*A[i]%mod;
Szsuf[i][1]%=mod;
Suf[i][1]=1ll*Suf[i-1][1]*B%mod+1ll*A[i]*Szsuf[i][0]%mod;
Suf[i][1]%=mod;
Suf[i][0]=1ll*C*(C-1)/2%mod+1ll*Suf[i-1][0]*B%mod*B%mod+1ll*B*(B-1)/2%mod*(Szsuf[i-1][1]+a[i-1])%mod;
Suf[i][0]%=mod;
Suf[i][0]+=1ll*Suf[i-1][1]*B%mod*A[i]%mod+1ll*A[i]*(A[i]-1)/2%mod*Szsuf[i][0]%mod;
Suf[i][0]%=mod;
Sum[i][1]=Sum[i-1][1]+Suf[i][1];
Sum[i][1]%=mod;
Sum[i][0]=1ll*Sum[i-1][0]*B%mod+1ll*Sum[i-1][1]*A[i]%mod+Suf[i][0];
Sum[i][0]%=mod;
}
return (Sum[N][0]+Sum[N][1])%mod;
}
int main(){
scanf("%d",&B);
scanf("%d",&N);
for (int i=1; i<=N; i++) scanf("%d",&A[i]);
ans-=solve();
ans+=calc();
scanf("%d",&N);
for (int i=1; i<=N; i++) scanf("%d",&A[i]);
ans%=mod;
ans+=solve();
(ans+=mod)%=mod;
printf("%d\n",ans);
return 0;
}

  

 

最新文章

  1. SqlServer时间戳与普通格式的转换
  2. Tomca不生产日志 (原创帖,转载请注明出处)
  3. Oracle 违反协议 OALL8 处于不一致状态
  4. 彻底弄懂js循环中的闭包问题
  5. 图书管理系统——APP平台开发
  6. nyoj_148_fibonacci数列(二)_矩阵快速幂
  7. 微信公开课发布微信官方教程:教你用好微信JS-SDK接口
  8. log2取整效率测试
  9. C++Primer 第一章
  10. jQuery formValidator表单验证插件常见问题
  11. Linux 删除文件夹和文件的命令
  12. oc-23-static
  13. C++调用C#生成的DLL文件的各种问题
  14. ARM Linux 如何--注册和触发--软中断
  15. Activti跳过中间节点的helloworld实例程序
  16. cookie 与 session
  17. hdu3037 Saving Beans
  18. ELK 架构之 Logstash 和 Filebeat 安装配置
  19. Mapreduce操作HBase
  20. Kylin介绍2

热门文章

  1. winform代码生成器(一)
  2. 选择控件js插件和使用方法
  3. [转]兼容各个浏览器的H.264播放: H.264+HTML5+FLOWPLAYER+WOWZA+RMTP
  4. JAVA代码之斗地主发牌
  5. Kendo 单页面应用(一)概述
  6. JDK8下的HashMap有什么特别之处?
  7. 【extjs6学习笔记】1.8 初始: ExtJS命名约定
  8. EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
  9. mysql主从设置windows
  10. 验证fgets末尾自动添加的字符是'\0&#39; 还是 &#39;\n\&#39;?