码迷,mamicode.com
首页 > 其他好文 > 详细

Lyndon分解

时间:2020-12-07 12:32:21      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:style   知识   turn   int   return   include   bsp   color   ace   

模板题:https://loj.ac/p/129

知识点:是while不是if

待填坑

code:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN = 2e6 + 5;
int n;
char s[MAXN];
int main()
{
    //freopen("in.txt","r",stdin);
    scanf("%s",s + 1);
    n = strlen(s + 1);
    int head = 1,tem = 1,k = 2;
    while(head <= n)
    {
        tem = head;
        k = head + 1;
        while(k <= n && s[tem] <= s[k])
        {
            if(s[tem] == s[k])
                tem++;
            else
                tem = head;
            k++;    
        }    
        while(head <= tem)
        {
            head += k - tem;
            printf("%d ",head - 1);
        }
    }
    return 0;
}

 

 

Lyndon分解

标签:style   知识   turn   int   return   include   bsp   color   ace   

原文地址:https://www.cnblogs.com/xyj1/p/14073379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!