#P12691. [集训队互测2025day16]数位 DP
[集训队互测2025day16]数位 DP
题目背景
小 L 曾经出了这样一个题:
给定长度为 的整数序列 ,求是否存在长度为 的整数序列 满足 且 $(((a_1\text{ and }a_2)\text{ xor }a_3)\text{ or }a_4=m$。
小 C 看到后觉得这个数位 DP 题非常板,很没意思。小 L 又修改上述问题的位运算的顺序,出了很多个题。
小 C 忍不了了:“你能不能别再出模板数位 DP 题了?”
小 L 只能把这一堆题交给了你。不过为了增加挑战性,现在你需要对所有可能的 计算出答案并求和。
题目描述
给定长度为 的字符串 ,对于一个长度为 的非负整数序列 ,定义其生成序列 为:
- ;
- 对于 :
- 若 ,则 。
- 若 ,则 。
- 若 ,则 。
给定非负整数 。接下来 组询问,每次给定一个 ,求有多少长度为 的整数序列 满足:
- 对于 ,满足 。
- 存在至少一个长度为 的整数序列 满足:
- 对于 ,满足 。
- 对于 的生成序列 ,满足 。
由于答案很大,你只需要输出答案对 取模的结果。
输入格式
第一行三个整数 。
第二行一个长度为 的字符串 。
接下来 行,每行一个询问的 。
输出格式
输出 行,每行一个非负整数,表示答案对 取模的结果。
输入输出样例 #1
输入 #1
3 1 2
OA
0
1
输出 #1
8
3
输入输出样例 #2
输入 #2
4 2 2
XOA
1
2
输出 #2
189
112
输入输出样例 #3
输入 #3
4 2 3
XAO
1
2
3
输出 #3
237
176
143
输入输出样例 #4
输入 #4
10 10 3
AOOXOAOXA
749
666
135
输出 #4
4239261913
1948492800
2799056799
说明/提示
本题使用捆绑测试,你只有通过一个子任务的所有测试点,才能获得这个子任务的分数。
子任务编号 | 特殊性质 | 分值 | |||
---|---|---|---|---|---|
无 | |||||
不包含 | |||||
无 | |||||
对于 的数据,,,,。