SCOI2013 数数
2024-09-03 21:57:46
题解:
很玄学的一道数位$dp$,看了很多篇题解才懂。
直接挂$l$的题解。
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 100050
#define ll long long
#define MOD 20130427
inline int rd()
{
int f=,c=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){c=*c+ch-'';ch=getchar();}
return f*c;
}
ll b;
ll L[N],l,R[N],r;
ll f[N][],g[N][];
ll h[N],s[N];
ll sol(ll *x,int n)
{
memset(f,,sizeof(f));
memset(g,,sizeof(g));
memset(h,,sizeof(h));
memset(s,,sizeof(s));
h[] = s[] = x[]-;
f[][] = g[][] = x[]*(x[]-)/;
f[][] = g[][] = x[];
for(int i=;i<=n;i++)
{
s[i] = ( s[i-]*b%MOD + x[i] + b - )%MOD;
h[i] = ( (h[i-]+s[i-])*b%MOD + x[i]*i%MOD + b - )%MOD;
f[i][] = (f[i-][]*b%MOD*b%MOD
+(h[i-]+s[i-]+)%MOD*((b*(b-)/)%MOD)%MOD
+f[i-][]*x[i]%MOD*b%MOD
+1ll*i*((x[i]*(x[i]-)/)%MOD)%MOD)%MOD;
f[i][] = ( f[i-][]*b%MOD + x[i]*i%MOD )%MOD;
g[i][] = ( g[i-][]*b%MOD + f[i][] + g[i-][]*x[i]%MOD)%MOD;
g[i][] = ( g[i-][] + f[i][] )%MOD;
// printf("%lld %lld %lld %lld\n",f[i][0],f[i][1],g[i][0],g[i][1]);
}
return ((g[n][]+g[n][])%MOD+MOD)%MOD;
}
int main()
{
b = rd();
l = rd();
for(int i=;i<=l;i++)L[i]=rd();
L[l]--;
for(int i=l;L[i]<;i--)L[i-]--,L[i]+=b;
if(!L[])
{
l--;
for(int i=;i<=l;i++)L[i]=L[i+];
}
r = rd();
for(int i=;i<=r;i++)R[i]=rd();
printf("%lld\n",((sol(R,r)-sol(L,l))%MOD+MOD)%MOD);
return ;
}
最新文章
- Visual Studio 2015 各版本对比及下载地址
- BFC之浅析篇
- 『创意欣赏』20款精致的 iOS7 APP 图标设计
- memached 服务器lru算法
- cocos2d 高仿doodle jump 无源代码
- 实现Android 动态载入APK(Fragment or Activity实现)
- java 单例模式学习笔记
- 【NOIP2012】【CJOJ1093】【洛谷1083】借教室
- Windows服务器外网无法访问web的解决方法
- tornado架构分析3 options.py中基础类_Option
- 高仿QQ、微信效果的图片浏览器(支持原图和缩略图、多种手势、CocoaPods)
- ExecuteExcel4Macro (宏函数)使用说明
- Cookie的HttpOnly、secure、domain属性
- JS中Number(),parseInt(),parseFloat()和自动类型转换
- insserv: warning: script &#39;busybox-httpd&#39; missing LSB tags and overrides
- django模型的继承
- 新概念 Lesson 2 Sorry, sir.
- 利用PIE实现全球云分布图的效果
- Firefox 火狐 页面特殊符号乱码解决方法
- JSON-RPC(jsonrpc4j)使用demo