Link

  https://jzoj.net/senior/#main/show/1115

Description

  申准备报名参加GT考试,准考证号为n位数X1X2X3...Xn-1Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。
他的不吉利数字A1A2A3...Am-1Am(0<=Ai<=9)有m位,不出现是指X1X2X3...Xn-1Xn 中没有恰好一段等于A1A2A3...Am-1Am。A1和X1可以为0。
  阿申想知道不出现不吉利数字的号码有多少种,输出模K取余的结果。

Solution

40分:动态规划

  考虑到这道题匹配的顺序,可以采用动态规划。

  设f[i,j]表示选到前i位,当前匹配到不吉利数字的位数j。

  枚举当前位选的数(0~9),转移显然。

  可是j的转移略微复杂。这里分三种情况

  (1)当前位选的数使得j为0

  例如不吉利数字为1101,当前匹配了3位,即101,若当前选0或2~9的数字,则j为0。

  (2)当前选的数使得j为之前某一位的数

  例如不吉利数字为11321,当前匹配了4位,即1321,若当前选2,那么我们不会将j赋值为0,为什么?

  当出现21321的情况,开头两位可以与不吉利数字开头两位(21)匹配,故j应该为2

  在如同1202,当前第4位选0,我们j应该位2

  (3)按照不吉利数字的顺序发展

  例如不吉利数字为1101,当前匹配了3位,即101,若当前选1,则j位4

  我们可以用数组p[i,j]表示数字i放在当前已匹配了j位的不吉利数字上,上述所的j是多少。

  显然有递推式(状态转移方程)

  f[i+1,p[k,j]]+=f[i,j];(k位当前数字,j为原匹配了的位数,i为准考证位数匹配)

100分:矩阵乘法

  显然可以用矩阵乘法来优化上面的递推式,用一个1*m和m*m的矩阵来弄

[jzoj]1115.【HNOI2008】GT考试的更多相关文章

  1. 1009: [HNOI2008]GT考试

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

  2. 【bzoj1009】[HNOI2008]GT考试

    1009: [HNOI2008]GT考试 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3018  Solved: 1856[Submit][Statu ...

  3. BZOJ_1009_[HNOI2008]_GT考试_(动态规划+kmp+矩阵乘法优化+快速幂)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1009 字符串全部由0~9组成,给出一个串s,求一个长度为n的串,不包含s的种类有多少. 分析 ...

  4. BZOJ 1009: [HNOI2008]GT考试( dp + 矩阵快速幂 + kmp )

    写了一个早上...就因为把长度为m的也算进去了... dp(i, j)表示准考证号前i个字符匹配了不吉利数字前j个的方案数. kmp预处理, 然后对于j进行枚举, 对数字0~9也枚举算出f(i, j) ...

  5. [HNOI2008] GT考试

    [HNOI2008] GT考试 标签 : DP 矩阵乘法 题目链接 题意 n位数中不出现一个子串的方案数. 题解 \(设dp[i][j]\)为前i位匹配到j时的合法方案数.(所谓合法,就是不能有别的匹 ...

  6. BZOJ_1009_[HNOI2008]GT考试_KMP+矩阵乘法

    BZOJ_1009_[HNOI2008]GT考试_KMP+矩阵乘法 Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考 ...

  7. BZOJ1009 [HNOI2008]GT考试 矩阵

    去博客园看该题解 题目 [bzoj1009][HNOI2008]GT考试 Description 阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn(0<=Xi<=9),他不希望准 ...

  8. BZOJ 1009 [HNOI2008]GT考试 (KMP + 矩阵快速幂)

    1009: [HNOI2008]GT考试 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4266  Solved: 2616[Submit][Statu ...

  9. bzoj1009 / P3193 [HNOI2008]GT考试

    P3193 [HNOI2008]GT考试 设$f[i][j]$表示主串匹配到第$i$个位置,不吉利数字匹配到第$j$个位置 $g[i][j]$表示加上某数字使子串原来最多能匹配到第$i$个数字,现在只 ...

  10. bzoj 1009: [HNOI2008]GT考试 -- KMP+矩阵

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

随机推荐

  1. FreeNAS:创建 CIFS 匿名共享

    第一部分:数据集权限设定 浏览器访问 FreeNAS 系统的 WebGUI 管理界面,点选 “Storage” 存储图标打开存储选项卡,在卷列表中点选用于匿名共享的数据集,如有需要,也可以自行创建新的 ...

  2. 主机管理+堡垒机系统开发:strace工具的实现原理(七)

    strace是Linux系统下的一个用来跟踪系统调用的工具,它的实现基础是ptrace系统调用.使用strace工具可以跟踪一个程序执行过程中发生的系统调用. 我这里讲到的内容有一点点和mips体系相 ...

  3. kubernetes云平台管理实战:如何创建deployment更好(九)

    一.文件创建带--record 1.文件 [root@k8s-master ~]# cat nginx_deploy.yml apiVersion: extensions/v1beta1 kind: ...

  4. 070、如何定制Calico 网络policy(2019-04-15 周一)

    参考https://www.cnblogs.com/CloudMan6/p/7552618.html     Calico默认的policy是:容器只能与同一个calico网络中的容器通信.   Ca ...

  5. Web概述

    Web概述 1. JavaWeb 使用java开发的基于互联网的项目 2. 软件架构 C/S:客户端服务器架构 优点:用户体验好,很多数据在本地 缺点:安装.开发.部署.维护麻烦 B/S:浏览器服务器 ...

  6. JAVA第一周学习

    新学期伊始,六门专业课,课课重要,无法抉择重心,但日子还是要过的,而且要精细的过,不能得过且过 JAVA第一周任务 一:学习第一章视频 二:使用JDB调试JAVA 三:输入调试教材上代码,并把代码上传 ...

  7. [物理学与PDEs]第1章习题7 载流线圈的磁场

    设一半径为 $R$ 的圆周电路上的电流强度为 $I$. 试计算在通过圆心垂直于圆周所在平面的直线上, 由该圆周电路产生的磁场的磁感强度. 解答: 由对称性知在该直线 $l$ 上, ${\bf B}$ ...

  8. Scrapy 入门

    Scrapy https://docs.scrapy.org/en/latest/intro/overview.html Scrapy is an application framework for ...

  9. Coursera, Big Data 3, Integration and Processing (week 1/2/3)

    This is the 3rd course in big data specification courses. Data model reivew 1, data model 的特点: Struc ...

  10. 基于VC的MFC界面开发

    教你熟悉VC6.0创建一个可视化软件的过程 UpdateData(TRUE);//将输入数据赋给文本框变量. UpdateData(FALSE);//将内容显示在文本框中 AfxMessageBox( ...