1 条题解
-
0
自动搬运
来自洛谷,原作者为

panyf
**搬运于
2025-08-24 22:36:48,当前版本为作者最后更新于2022-03-11 14:53:59,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
考虑从前到后 dp。当前 dp 了长度为 的前缀,记 表示第 位为 ,第 位为 ,第 位为 ,长度为 的前缀能否匹配( 表示能匹配, 表示不能), 能否匹配, 能否匹配, 能否匹配。转移时枚举第 位的值,判断 这三个区间能否匹配。时间复杂度 。
算一下这个做法的常数,状态数 ,转移数 。显然 TLE。
考虑优化。首先容易发现若 ,那么 就没用了,就不用记录了。若 ,那么 也就没用了。若 ,那么 也就没用了,若 ,那么这个状态不合法。但是 的时候还是要记 ,状态数只减少了不到一半。
若 ,但是 再加上任何一个数,都不能和 匹配上,那么可以把 改成 。或者如果 的数不在一个正方形内,也可以把 改成 。同理 也可以这样做。
加上这两个优化以后,再分析一下状态数。若 ,那么 一定是从数字串的区间 中选出三个数,有 种方案,并且 一定等于 (因为), 不确定,有 种方案。若 ,则 一定是 中选出的两个数,有 种方案, 不确定,有 种方案。若 ,有 种方案。若 ,有 种方案。总状态数就是 。实际上跑不满,按照官方题解的说法数据中状态不超过 。可以写一个哈希表压缩状态。
$10\times 100000\times 153\times 9\approx 1.4\times 10^9$,然后时限 ,就过了。
- 1
信息
- ID
- 7528
- 时间
- 4000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者