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;
    }
    

      

  • 相关阅读:
    MyBatis Plus 导入IdType失败
    SpringBoot+Vue项目上手
    高并发
    多线程
    Java 接口
    Java后端总结
    Aliyun Linux2安装Docker
    Zookeeper集群部署及报错分析
    CentOs7配置java环境
    kafka笔记——kafka启动
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10297531.html
Copyright © 2011-2022 走看看