309089: CF1622D. Shuffle
Memory Limit:512 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Shuffle
题意翻译
给定一个长度为 $n$ 的 $01$ 序列 $a$ ,你需要求出对 $a$ 进行**最多一次**以下操作后,可能的 $a$ 的数量,对 $998244353$ 取模: * 选定 $a$ 的一段连续的子段 $[l,r],1\le l\le r\le n$ ,满足子段内有恰好 $k$ 个 $1$ (即 $\sum_{i=l}^ra_i=k$ )。 * 将 $[l,r]$ 内的元素任意排列。题目描述
You are given a binary string (i. e. a string consisting of characters 0 and/or 1) $ s $ of length $ n $ . You can perform the following operation with the string $ s $ at most once: choose a substring (a contiguous subsequence) of $ s $ having exactly $ k $ characters 1 in it, and shuffle it (reorder the characters in the substring as you wish). Calculate the number of different strings which can be obtained from $ s $ by performing this operation at most once.输入输出格式
输入格式
The first line contains two integers $ n $ and $ k $ ( $ 2 \le n \le 5000 $ ; $ 0 \le k \le n $ ). The second line contains the string $ s $ of length $ n $ , consisting of characters 0 and/or 1.
输出格式
Print one integer — the number of different strings which can be obtained from $ s $ by performing the described operation at most once. Since the answer can be large, output it modulo $ 998244353 $ .
输入输出样例
输入样例 #1
7 2
1100110
输出样例 #1
16
输入样例 #2
5 0
10010
输出样例 #2
1
输入样例 #3
8 1
10001000
输出样例 #3
10
输入样例 #4
10 8
0010011000
输出样例 #4
1