#include <bits/stdc++.h>
using namespace std;
int n,k;
int cnt[27];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>k;
string s;
cin>>s;
int div = n/k;
int ans = 0;
for(int i=0;i<k;i++)
{
for(int j=i;j<n;j+=k)
{
cnt[s[j]-'a']++;
}
int cur = INT_MAX;
for(int i=0;i<26;i++)
{
cur = min(cur,div-cnt[i]);
cnt[i]=0;
}
ans += cur;
}
cout<<ans<<'\n';
return 0;
}
简单的一道题目,使用贪心思想,在同一位置尽量选择数量多的字母作为该位置的最终字母,然后将剩下的修改

京公网安备 11010502036488号