CF2141E.Perfect Cut
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由字符 0、1 和(或)? 组成的字符串 s。
我们称一个二进制(由 0 和/或 1 组成)串为“完美串”,如果你可以将该串切分为两个非空部分:前缀 a 和后缀 b,使得对于每个 i 从 1 到 min(∣a∣,∣b∣),都有 ai≥bi。
你的任务是计算将所有问号独立替换为 0 或 1,使得最终串为“完美串”的方案数。两种方案被认为不同,当且仅当存在至少一个位置的字符不同。由于答案可能很大,输出其对 998244353 取模的结果。
输入格式
第一行包含一个整数 t(1≤t≤104)——表示测试用例数量。
每个测试用例仅一行,包含字符串 s(2≤∣s∣≤2⋅105),由字符 0、1 和 ? 组成。
输入的额外限制:所有测试用例中字符串 s 的总长度不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数,表示将所有问号独立替换为 0 或 1,使得最终串为“完美串”的方案数,对 998244353 取模。
输入输出样例
输入#1
5 0?1 011 ???? 110?0 0?1?
输出#1
1 0 15 2 3
说明/提示
在第一个测试用例中,串 001 可以被分割成长度为 1 的前缀和长度为 2 的后缀。
在第四个测试用例中,以下字符串可以被得到:
- 串 11010,可分割为长度为 2 的前缀和长度为 3 的后缀;
- 串 11000,可分割为长度为 4 的前缀和长度为 1 的后缀。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?