zoukankan      html  css  js  c++  java
  • hihocoder #1485 : hiho字符串

    求h  i   o前缀和 

    枚举每个位子  二分结束的位子  恰好是2个h 一个 i 一个  o

    #include<cstdio>
    #include<cstring>
    #include<map>
    #include<iostream>
    #include<algorithm>
    #include<math.h>
    #include<map>
    #include<queue>
    #include<set>
    #include<vector>
    using namespace std;
    
    
    #define inf  1000000007
    #define ll long long
    #define MAXN  100010
    
    
    char s[MAXN];
    int h[MAXN],ii[MAXN],o[MAXN];
    
    int main()
    {
        while(scanf("%s",s+1)!=EOF)
        {
            int len=strlen(s+1);
            h[0]=0;
            ii[0]=0;
            o[0]=0;
            for(int i=1;i<=len;i++)
            {
                h[i]=h[i-1];
                ii[i]=ii[i-1];
                o[i]=o[i-1];
                if(s[i]=='h')
                    h[i]++;
                else if(s[i]=='i')
                    ii[i]++;
                else if(s[i]=='o')
                    o[i]++;
            }
            int mx=10000000;
            for(int i=1;i<=len;i++)
            {
                int l=i;
                int r=len;
                int ans=10000000;
                while(l<=r)
                {
                    int mid=(l+r)>>1;
                    if(h[mid]-h[i-1]==2&&ii[mid]-ii[i-1]==1&&o[mid]-o[i-1]==1)
                    {
                        ans=mid;
                        r=mid-1;
                    }
                    else if(h[mid]-h[i-1]>2||ii[mid]-ii[i-1]>1||o[mid]-o[i-1]>1)
                    {
                        r=mid-1;
                    }
                    else
                        l=mid+1;
                }
                if(ans==100000000)
                    ;
                else
                    mx=min(mx,ans-i+1);
            }
            if(mx==10000000)
                mx=-1;
            cout<<mx<<endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    android progressbar 水平进度条
    jquery 下拉自动加载
    jquery ajax
    input 数字,字母汉字的限制方法(转帖)
    Jquery checkbox
    js运用6
    js运用5
    js运用4
    js运用3
    js运用2
  • 原文地址:https://www.cnblogs.com/cherryMJY/p/7811077.html
Copyright © 2011-2022 走看看