| Codeforces Round 1114 (Div. 3) |
|---|
| Закончено |
Это сложная версия задачи. В этой версии требуется определить минимальное количество операций, чтобы преобразовать $$$a$$$ в $$$b$$$.
Юсеф дал вам две двоичные строки, $$$a$$$ и $$$b$$$, одинаковой длины $$$n$$$.
Вам разрешено выполнять любую из следующих операций:
Ваша задача — определить минимальное количество операций, необходимое для преобразования строки $$$a$$$ в строку $$$b$$$. Если преобразовать $$$a$$$ в $$$b$$$ с помощью данных операций невозможно, вместо этого выведите $$$-1$$$.
$$$^{\text{∗}}$$$Строка $$$a$$$ является подстрокой строки $$$b$$$, если $$$a$$$ можно получить из $$$b$$$ удалением нескольких (возможно, нуля или всех) символов с начала и нескольких (возможно, нуля или всех) символов с конца.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — длину каждой строки.
Вторая строка каждого набора входных данных содержит двоичную строку $$$a$$$ ($$$|a| = n$$$), состоящую только из символов $$$\texttt{0}$$$ и/или $$$\texttt{1}$$$.
Третья строка каждого набора входных данных содержит двоичную строку $$$b$$$ ($$$|b| = n$$$), состоящую только из символов $$$\texttt{0}$$$ и/или $$$\texttt{1}$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите минимальное количество операций, необходимое для преобразования $$$a$$$ в $$$b$$$. Если это невозможно, вместо этого выведите $$$-1$$$.
540100000140100001061100000000118101010101010101050100110010
1-1403
В первом наборе входных данных можно выбрать подстроку $$$a[2, 4] = \texttt{100}$$$ и заменить её на $$$\texttt{001}$$$. Это занимает ровно $$$1$$$ операцию.
Во втором наборе входных данных преобразовать $$$a$$$ в $$$b$$$ невозможно, поэтому ответ равен $$$-1$$$.
В третьем наборе входных данных можно сделать следующее по порядку:
Это занимает $$$4$$$ операции. Можно показать, что $$$4$$$ — минимальный ответ.
| Название |
|---|


