2S/512M
给定一个长度为 的二进制字符串 ,下标从 开始。
你需要将下标集合 划分为若干个非空集合,使每个下标恰好属于其中一个集合。对于划分中的每个集合 ,均需要满足
其中, 和 分别表示集合 中最小和最大的元素。
若两个划分包含的集合完全相同,则视为同一种划分,不考虑这些集合的排列顺序。求满足条件的划分数量。由于答案可能很大,请对 取模。
第一行包含一个正整数 ,表示字符串长度。
第二行包含一个长度为 的字符串 ,其中每个字符均为 0 或 1。
输出一个整数,表示满足条件的划分数量对 取模后的结果。
3
010
3
三种合法划分分别为
$$\{\{1\},\{2\},\{3\}\},\quad \{\{1,3\},\{2\}\},\quad \{\{1,2,3\}\}.$$10
0000000000
115975
10
0100111010
15255
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 | 分数 | 特殊性质 |
|---|---|---|
| 特殊性质 A | ||
| 无 |
特殊性质 A:对于任意 ,均有 。
对于 的数据,满足 ;对于任意 ,均有 。