[AGC030E] Less than 3

题意翻译

给定两个长度为 $n$ 的 `01` 串 $s,t$ , 串的连续段长度不超过 $2$ , 每次操作可以把 $s$ 的一个位置反转, 要求操作后连续段长度仍不超过 $2$ , 求使得 $s,t$ 相等的最少操作次数. $n\leqslant 5000$

题目描述

[problemUrl]: https://atcoder.jp/contests/agc030/tasks/agc030_e 長さ $ N $ の文字列 $ s $ および $ t $ が与えられます。 $ s $ および $ t $ は `0` と `1` からなります。 また、$ s $ および $ t $ において、同一の文字が $ 3 $ 個以上連続する箇所はありません。 あなたは次の操作を繰り返し行い、$ s $ を書き換えていくことができます。 - 添字 $ i $ ($ 1\ \leq\ i\ \leq\ N $) を任意に選び、$ s $ の $ i $ 文字目を反転する (すなわち、`0` を `1` へ、`1` を `0` へ書き換える)。 ただし、操作後の $ s $ において、同一の文字が $ 3 $ 個以上連続する箇所があってはならない。 あなたの目標は $ s $ を $ t $ に一致させることです。 $ s $ を $ t $ に一致させるために必要な操作回数の最小値を求めてください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ s $ $ t $

输出格式


$ s $ を $ t $ に一致させるために必要な操作回数の最小値を出力せよ。なお、有限回の操作で目的は必ず達成可能であることが証明できる。

输入输出样例

输入样例 #1

4
0011
0101

输出样例 #1

4

输入样例 #2

1
0
0

输出样例 #2

0

输入样例 #3

8
00110011
10101010

输出样例 #3

10

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 5000 $ - $ s $ および $ t $ の長さは $ N $ である。 - $ s $ および $ t $ は `0` と `1` からなる。 - $ s $ および $ t $ において、同一の文字が $ 3 $ 個以上連続する箇所はない。 ### Sample Explanation 1 例えば、`0011` → `1011` → `1001` → `1101` → `0101` と操作を行えばよいです。