题目链接

没啥好说的,矩阵优化+$kmp$字符串匹配

上代码:

/**************************************************************
Problem: 1009
User: zhangheran
Language: C++
Result: Accepted
Time:116 ms
Memory:1300 kb
****************************************************************/ #include<iostream>
#include<cstdio>
//#include"suqingnian.h"
#include<algorithm>
#include<cstring>
using namespace std;
int next[];
int n,m;
int mod;
char a[];
long long ans;
void nxt()
{
for(int i=;i<=m;i++)
{
int t=next[i-];
while(t&&a[i]!=a[t+]) t=next[t];
t+=(a[i]==a[t+]),next[i]=t;
}
return ;
}
struct Martix{
long long num[][];
friend Martix operator *(const Martix &a,const Martix &b)
{
Martix c;
memset(c.num,,sizeof(c.num));
for(int k=;k<m;k++)
for(int i=;i<m;i++)
for(int j=;j<m;j++)
c.num[i][j]=(c.num[i][j]+a.num[i][k]*b.num[k][j]%mod)%mod;
return c;
}
void hint(){memset(num,,sizeof(num));for(int i=;i<m;i++) num[i][i]=;}
void clear(){memset(num,,sizeof(num));}
}p;
void kmp()
{
nxt();
for(int j=;j<=;j++)
for(int k=;k<m;k++){
int t=k;
while(t&&a[t+]!=j+'') t=next[t];
if(a[t+]==j+'') t++;
p.num[k][t]++;
}
}
Martix
_pow(Martix _a,int _b)
{
Martix _res;_res.hint();
for(;_b;_b >>= , _a= _a * _a )
if(_b & ) _res = _res * _a ;
return _res ;
}
int main()
{
scanf("%d%d%d",&n,&m,&mod);
scanf("%s",a+);
kmp();
p=_pow(p,n);
// for(int i=0;i<m;i++,puts(""))
// for(int j=0;j<m;j++)
// printf("%lld ",p.num[i][j]);
for(int i=;i<m;i++) ans=(ans+p.num[][i])%mod;
printf("%lld",ans%mod);
return ;
}

bzoj1009GT考试的更多相关文章

  1. BZOJ1009GT考试 DP + KMP + 矩陣快速冪

    @[DP, KMP, 矩陣快速冪] Description 阿申准备报名参加GT考试,准考证号为\(N\)位数\(X_1 X_2 .. X_n(0 <= X_i <= 9)\),他不希望准 ...

  2. 全网独家MongoDB Certified DBA Associate考试认证视频

    该视频意在让所有学员一次通过考试,避免重复考试而承担的巨额考试费用! 目前MongDB发展迅猛,有赶超mysql,和oracle看齐的苗头.在这个时候MongoDB也适时的推出了官方的认证考试&quo ...

  3. 记lrd的高二上学期第五次调研考试

    河北某某中学的调研考试其实是很好玩的经历呢.可惜没有太多机会了. 背景: NOIP2016回来之后没有好好学文化课-.自习能翘就翘了,衡中特产学案自助没有好好写(说来我好像从来没被老师查到过,上课写学 ...

  4. 1009: [HNOI2008]GT考试

    1009: [HNOI2008]GT考试 Time Limit: 1 Sec Memory Limit: 162 MB Description 阿申准备报名参加GT考试,准考证号为N位数\(X_1X_ ...

  5. mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风

    (-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...

  6. js封装用户选项传递给Servlet之考试系统二

    <%@ page language="java" import="java.util.*" contentType="text/html; ch ...

  7. js动态生成选项之考试系统(一)

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  8. 分享一个LiteDB做的简单考试系统辅助工具

    凌晨,被安排在公司值班,因为台风“灿鸿”即将登陆,风力太大,办公楼,车间等重要部分需要关注.所以无聊,那就分享一下,今天给朋友临时做的一个小的考试系统辅助工具吧.其实非常小,需求也很简单,但是可以根据 ...

  9. CCF考试

    第八次CCF考试记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四题的代码 第 ...

随机推荐

  1. 论immutable不可变性

    什么叫immutable和mutable?简单来讲,一个immutable的对象一旦被创建好,它的状态将不会改变.反过来,如果一个类的实例是immutable的,那么我们把这个类也称作immutabl ...

  2. 如何降低Unity程序的Drawcall

    [如何降低Unity程序的Drawcall] Unity can combine a number of objects at runtime and draws them together with ...

  3. Application.LoadLevel & Object.DontDestroyOnLoad

    [Application.LoadLevel] 只有在File->Build Setting中设置了的按钮才能被加载. 当level加载完成后,MonoBehaviour.OnLevelWasL ...

  4. 147. Insertion Sort List (List)

    Sort a linked list using insertion sort. class Solution { public: ListNode *insertionSortList(ListNo ...

  5. Spring Data Jpa使用@Query注解实现模糊查询(LIKE关键字)

    /** * * @param file_name 传入参数 * @return */ @Query(value = "select * from user where name LIKE C ...

  6. git使用报错: fatal: Couldn't find remote ref master的解决方法

    fatal: Couldn't find remote ref master 翻译过来就是:致命的:无法找到远程参考主,也就是报错的意思.错误的提示内容意思是找不到需要连接的对象. 解决方法有以下几种 ...

  7. 673. Number of Longest Increasing Subsequence最长递增子序列的数量

    [抄题]: Given an unsorted array of integers, find the number of longest increasing subsequence. Exampl ...

  8. 用python控制路由器

    前言 最近用爬虫爬豆瓣上的资料,无奈总是被封,agent伪装和cookie修改这些都用过了,可惜都起不了什么作用,到了一定次数,还是会返回403.想用代理ip,无奈免费的太不稳定,买收费的又有点没必要 ...

  9. Spring在代码中获取bean的几种方式(转)

    获取spring中bean的方式总结: 方法一:在初始化时保存ApplicationContext对象 ApplicationContext ac = new FileSystemXmlApplica ...

  10. 视觉SLAM漫淡(二):图优化理论与g2o的使用

    视觉SLAM漫谈(二):图优化理论与g2o的使用 1    前言以及回顾 各位朋友,自从上一篇<视觉SLAM漫谈>写成以来已经有一段时间了.我收到几位热心读者的邮件.有的希望我介绍一下当前 ...