初始有一个空的 01 串,每步操作可以将 0 或 1 添加在左侧或右侧。也可以对整个串进行反异或操作: 取 s
′ = s ⊕ rev(s),其中 s 是目前的 01 串,⊕ 表示逐位异或,rev(s) 代表将 s 翻转,也就是说取中心位置并交换所有对称的两个位置的字符。例如,rev(0101) = 1010 rev(010) = 010 rev(0011) = 1100。
反异或操作最多使用一次(可以不用,也可以用一次)。
给定一个 01 串 T,问最少需要添加多少个 1 才能从一个空 01 串得到 T。
在本题中 0 可以添加任意个。