#P12962. [AGC022E] Median Replace

    ID: 12146 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>CF2400动态规划字符串贪心构造计数DP

[AGC022E] Median Replace

题目描述

太一认为,由 0011 组成的奇数长度 NN 的字符串 XX,如果满足以下条件,则是美丽的。条件如下:可以进行 N12\frac{N-1}{2} 次如下操作,使得最终字符串唯一的字符为 11

  • 选择 XX连续的 33 个比特,并用它们的中位数替换这三个比特。例如,对 00110 的中间 33 个比特应用该操作后,字符串变为 010

太一有一个由 01? 组成的字符串。他想知道,将每个 ? 替换为 01,能够得到美丽字符串的方法数。请输出该方法数对 109+710^{9}+7 取模的结果。

输入格式

输入从标准输入读取,格式如下:

SS

输出格式

输出将每个 ? 替换为 0011,能够得到美丽字符串的方法数,对 109+710^{9}+7 取模。

输入输出样例 #1

输入 #1

1??00

输出 #1

2

输入输出样例 #2

输入 #2

?

输出 #2

1

输入输出样例 #3

输入 #3

?0101???10???00?1???????????????0????????????1????0

输出 #3

402589311

说明/提示

限制条件

  • 1S3000001 \leq |S| \leq 300000
  • S|S| 是奇数。
  • SS 的所有字符均为 01?

样例解释 1

? 替换为 01 的方法共有 44 种:

  • 11100:该字符串是美丽的。因为首先对最后 33 个比特应用操作,得到 110,再对整个字符串应用操作,得到 1
  • 11000:该字符串是美丽的。因为首先对最后 33 个比特应用操作,得到 110,再对整个字符串应用操作,得到 1
  • 10100:该字符串不是美丽的。因为不存在操作顺序能使最终字符串为 1
  • 10000:该字符串不是美丽的。因为不存在操作顺序能使最终字符串为 1

因此,可以得到美丽字符串的方法有 22 种。

样例解释 2

在这种情况下,只有 1 是唯一的美丽字符串。

样例解释 3

不要忘记输出答案对 109+710^{9}+7 取模。

由 ChatGPT 4.1 翻译