hdu 4669——Mutiples on a circle
来源:互联网 发布:农村淘宝新版下载安装 编辑:程序博客网 时间:2024/05/28 04:55
http://www.cnblogs.com/GBRgbr/archive/2013/08/14/3256584.html
参考之。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<cstdlib>#include<map>#include<set>#include<string>#include<cctype>#include<vector>#include<queue>using namespace std;#define maxn 55000#define INF 10000000#define LL __int64int num[maxn];int len[maxn];int fac[maxn<<2];int dp[maxn][300];int n,k;void init(){fac[0]=1;for(int i=1;i<=n*3;i++)fac[i]=(fac[i-1]*10)%k;}int GetLen(int x){int len=0;while(x){len++;x/=10;}return len;}int main() { while(cin>>n>>k){init();for(int i=0;i<=n;i++)for(int j=0;j<=k;j++)dp[i][j]=0;for(int i=0;i<n;i++){scanf("%d",&num[i]);len[i]=GetLen(num[i]);}num[n]=num[0];len[n]=len[0];int sum=0; int L=0;for(int i=n;i>0;i--) { sum=(num[i]*fac[L]+sum)%k; dp[0][sum]++; L+=len[i]; } LL ans=dp[0][0];for(int i=1;i<n;i++){for(int j=0;j<k;j++)dp[i][(j*fac[len[i]]+num[i])%k]+=dp[i-1][j];sum=(sum*fac[len[i]]+num[i])%k;dp[i][num[i]%k]++; dp[i][sum]--; sum =((sum-num[i]*fac[L])%k+k)%k; ans+=dp[i][0];}printf("%I64d\n",ans);} return 0; }
- hdu 4669——Mutiples on a circle
- hdu 4669 Mutiples on a circle
- HDU - 4669 Mutiples on a circle
- hdu 4669 Mutiples on a circle 多校第七场
- HDU 4669 Mutiples on a circle 解题报告
- HDU 4669 Mutiples on a circle (DP , 统计)
- hdu 4669 Mutiples on a circle(按位DP)
- hdu 4669 Mutiples on a circle(高效)
- hdoj 4669 Mutiples on a circle
- HDOJ 4669 Mutiples on a circle
- [HDU4669]Mutiples on a circle
- HDU 4669 Mutiples on a circle (环形数列DP)byPlato
- HDU 4669 Mutiples on a circle (2013多校联合7 1004)
- 2013 多校第七场 hdu 4669 Mutiples on a circle(DP,环)
- [agc013c]Ants on a Circle
- CodeForces 652F. Ants on a Circle
- 【AGC013C】Ants on a Circle 弹性碰撞
- AT2 Homeomorphism and the group structure on a circle
- 一步一步学数据结构之n--n(图--邻接矩阵法实现)
- 设计模式-命令模式
- Python基础教程(第2版)练习代码
- 四大原则
- JSON数据格式
- hdu 4669——Mutiples on a circle
- tableClass
- Visual Studio 之 Team Foundation Sever(一)
- 利用Thread类的join方法实现线程同步
- C++ list 类
- 2013年8月14日、数组第二种定义格式|遍历|最值|
- Eclipse添加ibatis DTD文件实现xml的自动提示功能
- AlphaBlend StretchBlt BitBlt
- C#中常用的正则表达式