#P1054. 平衡 01 串

平衡 01 串

题目描述

Bob 有一个 01 串 SS,定义其一个子串 [l,r][l,r] 的权重为:$\max\left(\sum_{i\in[l,r]}[S_i=0],\sum_{i\notin[l,r]}[S_i=1]\right)$,也就是子串中 00 的个数与子串外 11 的个数的较大值。

请求出所有子串的最小权重。在本题中,子串可以为空,其对应权重即为 SS11 的个数。

输入格式

第一行一个整数 TT 表示数据组数,对于每组数据:

一行一个 01 串 SS

输出格式

对于每组数据,输出一行一个整数表示答案。

3
0011100
0101010
1101011
0
1
2

样例解释 1

对于第一组数据,子串S[3,5]="111"的权重为0。 对于第二组数据,子串S[2,4]="101"的权重为1。 对于第三组数据,子串S[1,5]="11010"的权重为2。

数据范围

对于 30%30\% 的数据,S100\sum |S|\leq 100

对于 60%60\% 的数据,S5000\sum |S|\leq 5000

对于 100%100\% 的数据,1T1041\leq T\leq 10^41S,S2×1051\leq |S|,\sum |S|\leq 2\times 10^5