[DTCPC 2024] 戈布
题目描述
对于 $01$ 序列 $\{a_n\}$,找到最小的 $k$ 满足存在一组 $\{(l_k,r_k)\}$使得以下条件成立。
- $\forall i\in[1,n]$,$a_i=1$ 当且仅当 $\exist j\in[1,k]$,$i\in[l_j,r_j]$。
可以证明满足条件的 $\{(l_k,r_k)\}$ 仅有一个。
一个 $01$ 序列 $\{a_n\}$ 是好的当且仅当 $\forall i\in[1,k)$,$r_i-l_i<r_{i+1}-l_{i+1}$。
简单来说,一个 $01$ 序列是好的当且仅当从左到右形成的极长 $1$ 段长度严格递增。
给定序列 $\{a_n\}$,你可以进行如下操作若干次(或不进行操作):
- 选择 $i,j$$(i\ne j)$,交换 $a_i,a_j$。
试求最小的操作次数使得 $\{a_n\}$ 变成一个好的序列。
输入输出格式
输入格式
一行一个长为 $n$($n\leq 800$) 的 $01$ 序列 $\{a_n\}$。
输出格式
一行一个数字,表示答案。
输入输出样例
输入样例 #1
01101
输出样例 #1
1
输入样例 #2
01011
输出样例 #2
0