#CF1930D1. 所有子串的贡献和(简单版)
所有子串的贡献和(简单版)
所有子串的贡献和(简单版)
- 时间限制:2 秒
- 内存限制:256 MiB
题目描述
对于长度同为 的二进制模式 与二进制字符串 ,若对每个位置 ,都存在一个包含 的区间 ,使字符 是 的众数,则称 是 -good 的。
字符 是一个字符串的众数,当且仅当 的出现次数不少于该字符串长度的一半(向上取整)。因此在偶数长度字符串中,两个字符可以同时是众数。
定义 为所有 -good 字符串 中字符 1 的最少数量。
给定长度为 的二进制字符串 ,求
输入格式
第一行包含测试组数 ()。
每组数据第一行包含 (),第二行包含长度为 、仅由 0 和 1 构成的字符串 。
保证所有测试组中 的总和不超过 。
输出格式
对每组数据输出一个整数,表示所有子串的 值之和。
样例输入 1
4
1
1
2
10
5
00000
20
11110110000000111111
样例输出 1
1
2
0
346
数据范围
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 30 | 每组 |
| 2 | 每组 | |
| 3 | 40 | 无特殊限制 |
对于所有数据,,,且所有测试组中 的总和不超过 。