• 最小表示法——牛客多校第七场A


    脑瘫一样暴力,贪心找最小表示的串,判一个串是否是最小表示法时也是暴力地判。。

    但是想不通复杂度是怎么算的。。

    #include<bits/stdc++.h>
    using namespace std;
    #define maxn 205
    char s[maxn];
    int n;
     
    int check(int l,int r){//判断区间[l,r]是否是最小表示法
        int len=r-l+1;
        for(int st=l+1;st<=r;st++){
            int p1=l,p2=st;
            for(int i=0;i<len;i++){
                if(s[p1]<s[p2])break;
                else if(s[p1]>s[p2])return 0;
                ++p1;++p2;
                if(p1>r)p1=l;
                if(p2>r)p2=l;
            }
        }
        return 1;
    }
     
    int main(){
        int t;cin>>t;
        while(t--){
            scanf("%s",s+1);
            n=strlen(s+1);
            for(int l=1,r;l<=n;l++){
                r=n;
                while(!check(l,r))
                    --r;
                for(int i=l;i<=r;i++)cout<<s[i];
                if(r!=n)cout<<" ";
                l=r;
            }
            cout<<'
    ';
        }  
    }
  • 相关阅读:
    Reborn
    个人总结
    第十六周个人进度条
    梦断代码阅读笔记03
    第十五周个人进度条
    第十四周个人进度条
    第十三周个人进度条
    冲刺9
    冲刺8
    事后诸葛亮会议
  • 原文地址:https://www.cnblogs.com/zsben991126/p/11323627.html
Copyright © 2020-2023  润新知