#CODEFORCESP2599. Equalize (※※)
Equalize (※※)
题目描述
给您两个长度相同的二进制字符串 和 。您可以对字符串 进行以下两种运算:
- 交换分别位于索引 和 的任意两个比特(),此操作的代价是 ,即 和 之间的绝对差值。
- 选择任意索引 (),并翻转(将改为或将改为)该索引上的位。这个操作的代价是 。
求使字符串 等于 的最小代价。不允许修改字符串 。
输入描述
第一行包含一个整数 () - 字符串 和 的长度。
第二行和第三行分别包含字符串 和 。
字符串 和 的长度均为 ,且只包含 "0 "和 "1"。
输出描述
输出使字符串 等于 的最小成本。
样例
3
100
001
2
4
0101
0011
1
说明
在第一个示例中,最优解之一是翻转索引 和索引 ,字符串 变化如下:"100" "000" "001".成本为 。
另一种最优解是交换位和索引 和 ,字符串 变为 "100" "001" ,代价也是 。"001",代价也是。
在第二个例子中,最优解是交换索引和的比特,字符串变为 "0101" "0011".成本为 。