CF2150G.Counting Is Fun: The Finale
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
zabutom, Dubmood - Track Tracking
⠀
给定三个正整数 x、y 和 k。
同时给定一个二进制字符串 a(∣a∣=x+y)。
请计算满足下列条件的二进制字符串 b 的个数,结果对 998244353 取模:
- b 中恰好有 x 个 0。
- b 中恰好有 y 个 1。
- 存在一个整数 i(1≤i≤x+y−1),使得 min(f(b1b2…bi),f(bi+1bi+2…bx+y))≥k,其中 f(s) 表示字符串 s 的最长不下降子序列的长度。
- b 的字典序大于 a。
【注:】
∗ 二进制字符串指只由字符 0 和 1 组成的字符串。
† 序列 a 是序列 b 的子序列,当且仅当 a 可以通过删除 b 的若干(可以为零或全部)元素得到。例如,1011101 的子序列有 0、1、11111、0111,但没有 000 和 11100。
‡ 如果字符串 p 满足以下条件之一被称为字典序大于字符串 q:
- q 是 p 的前缀,且 p=q;
- 在 p 和 q 第一个不同的位置,p 的该字符比 q 的该字符大。
输入格式
每组测试包含多组测试用例。第一行包含整数 t(1≤t≤5000),表示测试用例数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含三个整数 x、y 和 k(1≤x,y≤5000,1≤k<x+y)。
每组测试用例的第二行包含一个长度为 x+y 的二进制字符串 a,仅包含字符 0 和 1。
保证所有测试用例中 x 的和不超过 5000,y 的和也不超过 5000。
输出格式
对于每组测试用例,输出一个整数,表示满足条件的二进制字符串数量,对 998244353 取模。
输入输出样例
输入#1
6 1 1 1 00 2 2 2 1110 2 2 1 0101 1 6 3 0000000 4 6 4 0010110010 10 6 7 0010110000101100
输出#1
2 0 4 7 106 203
说明/提示
对于第一个测试用例,有两个满足条件的字符串:01 和 10。
对于第三个测试用例,有四个满足条件的字符串:0110、1001、1010 和 1100。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?