luogu#P4989. 二进制之谜

二进制之谜

题目背景

虽然过了FadedFaded,但是小埋还是没有解出二进制之谜。

题目描述

这个时候,她感觉到了0011存在的某种可能的特殊对应关系。于是,她定义了“启发系数”:对应的两个数位数(按从高位到低位顺序去数)的差的绝对值;她现在希望将0011进行对应使得在对应关系最多的前提下,启发系数之和最大。

对应规则如下:

11.对应关系必须从00开始,以11结束;换句话说,每个对应关系必须00在前(高位),11在后(低位);

22.可以取若干个对应关系,但对应关系之间不能交叉交叉的含义是:共用某个区间且不是包含关系;

e.g.e.g. 假设一个对应关系为第22位数与第44位数,另一个对应关系为第33位数与第55位数,那么它们不可同时取,因为在区间[3,4][3,4]交叉;但是若对应关系分别为第1155位数与第2244位数,则不算作交叉,因为它们虽然共用区间[2,4][2,4]但存在包含关系,可以同时取。

avatar

这即是说,交叉不等于交集

33.每个数最多只能存在于一个对应关系中。

输入格式

第一行,一个整数nn,为二进制数的位数;

接下来一行,输入一个nn位二进制数。

输出格式

一行,表示对应关系最多的前提下最大的启发系数之和。

2
10
0
6
110100
1

提示

对于3030%的数据,0<n<=200<n<=20

对于100100%的数据,0<n<=3000<n<=300

样例说明

对于样例一,由于1100前面,两者不能对应;

对于样例二,对应方案为343-4,故总和为11

如果您提前AKAK了,可以做一下数据增强版