#G0104. 茳侨串【2025暑假集训T2】

茳侨串【2025暑假集训T2】

题目描述

江桥定义一个只由字符 01 组成的字符串为 “茳侨串” 当且仅当其恰好包含 33"01"\texttt{"01"}"10"\texttt{"10"} 子串。

例如 "1110100","00110011"\texttt{"1110100"},\texttt{"00110011"} 都是“茳侨串”,而 "001110","1111111"\texttt{"001110"},\texttt{"1111111"} 则不是,因为前者只包含一个 "01"\texttt{"01"} 和一个 "10"\texttt{"10"} 总共两个这样的子串,而后者一个这样的子串都没有。

江桥现在得到了一个只包含 01 的字符串 ss

现在,江桥进行任意次(包括 00 次)以下操作:

花费 11 的代价,将字符串中的任意一个字符反转(即 00 变为 1111 变为 00

江桥至少要花费多少代价,才能将字符串变为“茳侨串“?

容易证明,在 n4n\geq 4 的情况下一定存在合法的操作方式。

输入格式

第一行一个正整数 nn,表示字符串长度。

第二行一个长度为 nn 的字符串 ss,含义如上所述。

输出格式

一个非负整数代表江桥至少要花费多少代价,才能将字符串变为“茳侨串”。

4
1010
0
5
11111
2

样例解释

对于第2组样例,只需要花费 22 的代价把第一个和第三个字符变成 0 即可。

数据规模与约定

下发文件

下发文件对应子任务 1,51,5

有合理的子任务依赖。

子任务编号 nn≤ 分值
11 55 1010
22 1010 2020
33 10210^2
44 10310^3
55 2×1052 \times 10^{5} 3030

对于 100%100\% 的数据:保证 4n2×105,s=n,si{0,1}4 \leq n \leq 2 \times 10^{5},|s|=n,s_i\in\{0,1\}