#CJM09B. [J模9] 翻转(reverse)

[J模9] 翻转(reverse)

题目描述

小 C 有一个长度为 nn 的 01 串 SS。

小 C 定义一次操作是选择串 SS 的一个后缀将其 01 翻转(0 变成 1,1 变成 0)。

小 C 想要知道最少需要几次操作可以使得串 SS 单调不降(即不存在 1≤i<j≤n1\le i\lt j\le n,满足 Si=1S_i=1,Sj=0S_j=0)。

输入格式

输入的第一行包含一个整数 nn。

接下来一行包含长度为 nn 的 01 串,表示串 SS。

输出格式

输出共一行,包含一个整数,表示最小操作次数。

3
101
2
7
0101010
5

数据范围

样例 1 解释

第一次操作:对整个串进行翻转,串 SS 变为 010。
第二次操作:翻转后缀 [3,3][3,3],串 SS 变为 011。
可以证明不存在操作次数更小的解,当然可能存在其他操作次数为 22 的操作方案。

  • 对于 30%30\% 的数据,保证 n≤20n\le 20。
  • 对于 60%60\% 的数据,保证 n≤100n\le 100。
  • 对于 100%100\% 的数据,保证 1≤n≤1051\le n\le 10^5。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3834
类型
传统题
Time Limit
1000ms
Memory Limit
256MiB
上传者