#550. 二进制字符串
二进制字符串
题目描述
给定一个长度为 的二进制字符串 (每个字符要么是 0 要么是 1),你可以选择一个位置 (),当满足:,你可以将 修改为 或 。
你可以执行无限次上述操作,问字符串内 的总数的最小值和最大值分别可能是多少?
输入格式
本题有多组数据
第一行输入一个整数 ,表示测试数据组数。每一组数据:
- 第一行输入一个整数 表示字符串的长度。
- 第二行输入一个长度为 的字符串 。
输出格式
输出一共输出 行,每行两个空格隔开的整数分别表示 的数量的最小值和最大值。
4
3
111
6
011011
7
1011101
9
100101101
2 3
3 5
4 7
5 7
提示
第一个测试用例中,最终字符串中 的最小数量是 。操作过程是:
$$\mathtt{1}\underline{\mathtt{1}}\mathtt{1} \to \mathtt{101}. $$最大数量是 ,不需要操作。
第二个测试用例中,最终字符串中 的最小数量是 。操作过程是:
$$\mathtt{011}\underline{\mathtt{0}}\mathtt{11} \to \mathtt{01}\underline{\mathtt{1}}\mathtt{111} \to \mathtt{0101}\underline{\mathtt{1}}\mathtt{1} \to \mathtt{010101}. $$最大数量是 ,操作过程是:
$$\mathtt{011}\underline{\mathtt{0}}\mathtt{11} \to \mathtt{011111}. $$数据范围
对于 的数据满足:,。字符串仅包含 0 和 1。
- 子任务 1(30 分):保证字符串中任意两个
1之间的距离至少为 3(即不存在子串11或101)。 - 子任务 2(30 分):保证输入字符串 全由
1组成。 - 子任务 3(40 分):无特殊限制。
相关
在下列比赛中: