「HLOI2016」幸运数字

题目描述

小明是个非常喜欢幸运数字的同学,他认为自己的幸运数字是 。同时他非常喜欢偶数,所以他认为如果 出现在某一个整数的所有的左起(从 开始计数)偶数位上,那这个整数就是他的幸运数。

这天,小刚想要考小明一个问题,他说给小明一个区间 ,问这个区间里能够整除 的幸运数有多少个。

输入

输入的第一行是一个整数 ,第二行是两个整数 ,代表询问的区间。

输出

输出中仅包含一个数字,即对应输入文件的答案。由于答案可能比较多,输出答案应对 取余。

样例输入

1
2
3
10 99

样例输出

1
3

样例说明

之间有 可以整除 ,并且是幸运数字。

数据范围及约定

对于 的数据:

对于 的数据:

数据保证 的位数一致并没有前导零。

时间与空间限制

时间限制:,空间限制:

题解

HLOI2016 全 AC 达成。

太大了,典型数位 DP 题。 于是这就成为本蒟蒻第一道数位 DP……

两个 DP 数组,用 表示 中,前 位组成的数余数为 ,且组成的数大于(),等于()或小于()左或右区间的数。

每次加入一位数,比前 位大的转移到比前 位大,小的同理。相等的可以自行意会……

初值就是把 扫一遍,加到 DP 数组里。

答案是 。具体转移和答案参见代码。

题解说了跟没说一样。

然后不知为何貌似数据错了?

省选题数据会错?

如果哪位神犇看出了错误请留言或发个邮件什么的。

平均来算,时间复杂度应该为 为数字位数。空间复杂度为

代码见这里