P10810 79pts TLE 求优化 玄关
查看原帖
P10810 79pts TLE 求优化 玄关
1030559
tzzl3035楼主2024/10/17 10:43

rt

#include <bits/stdc++.h>
int main() 
{
  std::ios::sync_with_stdio(0);
  std::cin.tie(nullptr);

  int k; std::cin >> k;
  std::string s; std::cin >> s;
  int n = s.size(); s = "_" + s;
  for(int i = 1; i <= n; ++i) 
  {
    if(n % i != 0) continue;
    int res = 0;
    for(int j = 1; j <= i; ++j) 
    {
      std::map<char, int> cnt;
      int mx = 0;
      for(int k = j; k <= n; k += i) 
        cnt[s[k]] += 1, mx = std::max(mx, cnt[s[k]]);
      res += n/i - mx;
      if(res > k) break;
    }
    if(res <= k) 
    {
      std::cout << i;
      return 0;
    }
  }


  return 0;
}
2024/10/17 10:43
加载中...