zoukankan      html  css  js  c++  java
  • Codeforces Round #533(Div. 2) B.Zuhair and Strings

    链接:https://codeforces.com/contest/1105/problem/B

    题意:

    给一个字符串和k,连续k个相同的字符,可使等级x加1,

    例:8 2 aaacaabb

    则有aa aa 即x=2。

    求最大的k

    思路:

    第一眼想的是诶个查找,但是绝对会T,就没做,过一个小时才想到可以直接遍历,记录每个字符对应的最大x即可。

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    const int MAXN = 200000+10;
    char s[MAXN];
    int vis[26];
    
    int main()
    {
        int n,k;
        scanf("%d%d",&n,&k);
        scanf("%s",s+1);
        int now = 0;
        for (int i = 1;i<=n;i++)
        {
            if (s[i] == s[i-1] || i == 1)
            {
                now++;
                if (now == k)
                {
                    vis[s[i] - 97]++;
                    now = 0;
                }
    
            }
            else
            {
                now = 1;
                if (now == k)
                {
                    vis[s[i] - 97]++;
                    now = 0;
                }
            }
        }
        int sum = 0;
        for (int i = 0;i<26;i++)
            sum = max(sum,vis[i]);
        cout << sum << endl;
    
        return 0;
    }
    

      

  • 相关阅读:
    javascript-类型、值和变量
    词法结构
    前端js保存页面为图片下载到本地
    js生成带log的二维码(qrcodejs)
    工具函数
    css 水平垂直居中
    vue中的keep-alive
    vuex 的使用
    Spring源码解析
    Spring源码解析
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10297531.html
Copyright © 2011-2022 走看看