[bzoj1009]GT考试

http://www.cnblogs.com/ianaesthetic/p/3714216.html

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <cstdlib>
 6 #include <queue>
 7 #include <string>
 8 #include <vector>
 9 #include <cmath>
10 #include <map>
11 using namespace std;
12 
13 int ans,n,m,k,nxt[50];
14 struct M{
15     int T[30][30];
16     M(){memset(T,0,sizeof(T));}
17     M MUL (M b,int l1,int l2,int l3){
18         M ret;
19         for(int i=0;i<l1;i++)
20             for(int j=0;j<l3;j++)
21                 for(int k_=0;k_<l2;k_++)
22                     ret.T[i][j]=(ret.T[i][j]+T[i][k_]*b.T[k_][j])%k;
23         return ret;
24     }
25 }f,ff;
26 M mul(M a,int len,int b){
27     M ret;
28     for(int i=0;i<len;i++)ret.T[i][i]=1;
29     while(b){
30         if(b&1)ret=ret.MUL(a,len,len,len);
31         a=a.MUL(a,len,len,len);
32         b>>=1;
33     }
34     return ret;
35 }
36 char str[50];
37 int main(){
38     scanf("%d%d%d%s",&n,&m,&k,str+1);
39     for(int i=2,j=0;i<=m;i++){
40         while(j&&str[j+1]!=str[i])j=nxt[j];
41         nxt[i]=(j+=str[j+1]==str[i]);
42     }
43     for(int i=0;i<m;i++){
44         for(int j=0;j<=9;j++){
45             int t=i;
46             while(t&&str[t+1]!=j+'0')t=nxt[t];
47             if(str[t+1]==j+'0')f.T[i][t+1]++;
48             else f.T[i][0]++;
49         }
50     }
51     ff.T[0][0]=1;
52     f=mul(f,m,n);
53     ff=ff.MUL(f,1,m,m);
54     for(int i=0;i<m;i++)(ans+=ff.T[0][i])%=k;
55     printf("%d\n",ans);
56 }
View Code

 

转载于:https://www.cnblogs.com/KingSann/articles/6354611.html

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值