BZOJ 4421 Digit Division
Posted ziliuziliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ 4421 Digit Division相关的知识,希望对你有一定的参考价值。
随便dp一下就好了。。。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 300050 #define maxm 1000050 #define mod 1000000007 using namespace std; long long n,m,t[maxn],sum[maxm],dp[maxn]; char s[maxn]; int main() { scanf("%lld%lld",&n,&m); scanf("%s",s); dp[0]=sum[0]=1; for (long long i=1;i<=n;i++) t[i]=(t[i-1]*10+s[i-1]-‘0‘)%m; for (long long i=1;i<=n;i++) { dp[i]=sum[t[i]]; sum[t[i]]=(sum[t[i]]*2)%mod; } printf("%lld\n",dp[n]%mod); return 0; }
以上是关于BZOJ 4421 Digit Division的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ4421[Cerc2015] Digit Division 动态规划
bzoj1385 [Baltic2000]Division expression