zoukankan      html  css  js  c++  java
  • codeforces 888C K-Dominant Character

    C. K-Dominant Character
    time limit per test2 seconds
    memory limit per test256 megabytes
    inputstandard input
    outputstandard output
    You are given a string s consisting of lowercase Latin letters. Character c is called k-dominant iff each substring of s with length at least k contains this character c.


    You have to find minimum k such that there exists at least one k-dominant character.


    Input
    The first line contains string s consisting of lowercase Latin letters (1 ≤ |s| ≤ 100000).


    Output
    Print one number — the minimum value of k such that there exists at least one k-dominant character.


    Examples
    input
    abacaba
    output
    2
    input
    zzzzz
    output
    1
    input
    abcde
    output

    3

    题意:每个长度为k的子串都有一个相同的字符,求最小的k

    思路:从a到z找一遍,找到最小的k值

    #include<bits/stdc++.h>
    using namespace std;
    string s;
    int main()
    {
        cin>>s;
        int ans=1e6;
        for(int i='a'; i<='z'; i++)
        {
            int k=0,t=0;
            for(int j=0; j<s.size(); j++)
            {
                if(s[j]==i)
                    t=0;
                else
                    t++;
                k=max(t,k);
            }
            ans=min(k,ans);
        }
        cout<<ans+1<<endl;
    }
    


  • 相关阅读:
    CF 436D 最小生成树
    HDU 1847 博弈
    ZOJ 3666 博弈 SG函数
    zoj3675 BFS+状态压缩
    HDU 4734 F(x) 数位DP
    HDU 3709 Balanced Number 数位DP
    HDU 3555 数位DP
    HDU 4336 Card Collector
    HDU4340 Capturing a country DP
    CF 351A
  • 原文地址:https://www.cnblogs.com/da-mei/p/9053302.html
Copyright © 2011-2022 走看看