# |
Author |
Problem |
Lang |
Verdict |
Time |
Memory |
Sent |
Judged |
|
87137871 |
Contestant:
nagaraj41 |
1385D
- 16
|
C++17 (GCC 7-32)
|
Accepted
|
46 ms
|
4284 KB
|
2020-07-17 18:53:01 |
2020-07-18 08:19:18 |
|
#include<bits/stdc++.h>
using namespace std;
#define fastIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long int
#define fi first
#define se second
#define pub push_back
#define pi pair<int,int>
#define all(v) (v).begin(), (v).end()
#define rep(i, l, r) for(int i=(int)(l);i<(int)(r);i++)
#define repd(i, l, r) for (int i=(int)(l);i>=(int)(r);i--)
#define clrg(i, l, r) for(int i=(int)(l);i<(int)(r);i++)vis[i]=0,v[i].clear();
int power(int x, unsigned int y){int res = 1;while (y > 0){ if (y & 1){res = res*x;} y = y>>1;x = x*x;}return res;}
int powermod(int x, unsigned int y, int p){int res = 1;x = x % p;while (y > 0){if (y & 1){res = (res*x) % p;}y = y>>1; x = (x*x) % p;}return res;}
#define print2d(mat,n,m){for(int i=0;i<(int)(n);i++){for(int j=0;j<(m);j++){cout<<mat[i][j]<<" ";}cout<< endl;}}
#define clr(a,x) memset(a,x,sizeof(a))
#define rr(v) for(auto &val:v)
#define print(v) for (const auto itr : v){cout<<itr<<' ';}cout<<"\n";
#define ln length()
#define sz size()
#define mod 1000000007
#define elif else if
int ans,ans1=0,ans2=0;
int solve(string s,char ch){
//cout<<ch<<"\n";
int n=s.ln,mn1=0,mn2=0,a1=0,a2=0;
if(n==1){
//ans1+=(s[0]!=ch);
//ans1+=(s[0]!=ch);
return (s[0]!=ch);
}
rep(i,0,n/2){
mn1+=(s[i]!=ch);
}
rep(i,n/2,n){
mn2+=(s[i]!=ch);
}
//cout<<s<<"\n";
//cout<<mn1<<" "<<mn2<<"\n";
a1+=mn1;
a1+=solve(s.substr(n/2,n/2),char(ch+1));
a2+=mn2;
a2+=solve(s.substr(0,n/2),char(ch+1));
//cout<<a1<<" "<<a2<<" "<<ch<<"\n";
return min(a1,a2);
}
int32_t main(){
fastIO
int T;
cin>>T;
while(T--){
int n;
cin>>n;
string s;
cin>>s;
ans=1e18;
ans1=0,ans2=0;
ans=solve(s,'a');
cout<<ans<<"\n";
}
return 0;
}
Click to see test details