CF1385D.a-Good String
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a string s[1…n] consisting of lowercase Latin letters. It is guaranteed that n=2k for some integer k≥0 .
The string s[1…n] is called c -good if at least one of the following three conditions is satisfied:
- The length of s is 1 , and it consists of the character c (i.e. s1=c );
- The length of s is greater than 1 , the first half of the string consists of only the character c (i.e. s1=s2=⋯=s2n=c ) and the second half of the string (i.e. the string s2n+1s2n+2…sn ) is a (c+1) -good string;
- The length of s is greater than 1 , the second half of the string consists of only the character c (i.e. s2n+1=s2n+2=⋯=sn=c ) and the first half of the string (i.e. the string s1s2…s2n ) is a (c+1) -good string.
For example: "aabc" is 'a'-good, "ffgheeee" is 'e'-good.
In one move, you can choose one index i from 1 to n and replace si with any lowercase Latin letter (any character from 'a' to 'z').
Your task is to find the minimum number of moves required to obtain an 'a'-good string from s (i.e. c -good string for c= 'a'). It is guaranteed that the answer always exists.
You have to answer t independent test cases.
Another example of an 'a'-good string is as follows. Consider the string $s = $ "cdbbaaaa". It is an 'a'-good string, because:
- the second half of the string ("aaaa") consists of only the character 'a';
- the first half of the string ("cdbb") is 'b'-good string, because:
- the second half of the string ("bb") consists of only the character 'b';
- the first half of the string ("cd") is 'c'-good string, because:
- the first half of the string ("c") consists of only the character 'c';
- the second half of the string ("d") is 'd'-good string.
输入格式
The first line of the input contains one integer t ( 1≤t≤2⋅104 ) — the number of test cases. Then t test cases follow.
The first line of the test case contains one integer n ( 1≤n≤131 072 ) — the length of s . It is guaranteed that n=2k for some integer k≥0 . The second line of the test case contains the string s consisting of n lowercase Latin letters.
It is guaranteed that the sum of n does not exceed 2⋅105 ( ∑n≤2⋅105 ).
输出格式
For each test case, print the answer — the minimum number of moves required to obtain an 'a'-good string from s (i.e. c -good string with c= 'a'). It is guaranteed that the answer exists.
输入输出样例
输入#1
6 8 bbdcaaaa 8 asdfghjk 8 ceaaaabb 8 bbaaddcc 1 z 2 ac
输出#1
0 7 4 5 1 1