Codeforces Round 970 (Div. 3) |
---|
Закончено |
Сакурако очень любит чередующиеся строки. Она называет строку $$$s$$$ из строчных латинских букв чередующейся строкой, если символы на четных позициях одинаковы, если символы на нечетных позициях одинаковы и длина строки четная.
Например, строки 'abab' и 'gg' являются чередующимися, а строки 'aba' и 'ggwp' — нет.
Как хороший друг, вы решили подарить такую строку, но не смогли её найти. К счастью, вы можете выполнить два типа операций над строкой:
Поскольку вы торопитесь, вам нужно определить минимальное количество операций, необходимых для превращения строки в чередующуюся.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит одно число $$$n$$$ ($$$1 \le n\le 2\cdot 10^5$$$) — длина строки.
Вторая строка каждого набора содержит строку $$$s$$$, состоящую из строчных латинских букв.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого тестового случая выведите одно целое число — минимальное количество операций, необходимых для превращения строки $$$s$$$ в чередующуюся.
101a2ca3aab5ababa6acdada9ejibmyyju6bbccbc6abacba5bcbca5dcbdb
1 0 1 1 2 6 2 3 1 1
Для строки ababa можно удалить первый символ, чтобы получить baba, что является чередующейся строкой.
Для строки acdada можно изменить первые два символа, чтобы получить dadada, что является чередующейся строкой.
Название |
---|