编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#8534 #1058. JM的荧光棒工厂 Accepted 100 153 ms 2160 K C++ 11 / 1.0 K JM233333 2019-07-01 22:41:13
显示原始代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>

using namespace std;
typedef long long ll;

void make_fail(char *mode);

const int MAX = 2e5 + 5;
char str[MAX];
int fail[MAX];
vector<int> res;

int main() {
    // freopen("test.txt", "r", stdin);
    while (scanf("%s", str) != EOF) {
        // 初始化
        res.clear();
        // 求fail数组
        make_fail(str);
        // 递推求所有公共前后缀
        int j = strlen(str);
        j = fail[j - 1];
        while (j > 0) {
            res.push_back(j);
            j = fail[j - 1];
        }
        reverse(res.begin(), res.end());
        // 输出
        printf("%d\n", res.size());
        for (int i = 0; i < res.size(); i++) {
            printf("%d", res[i]);
            printf(i == res.size() - 1 ? "\n" : " ");
        }
    }
    return 0;
}
// 计算fail数组
void make_fail(char *mode) {
    // 初始化
    fail[0] = 0;
    // 递推
    for (int i = 1, j = 0; mode[i] != '\0'; i++) {
        while (j > 0 && mode[i] != mode[j]) {
            j = fail[j - 1];
        }
        if (mode[i] == mode[j]) {
            fail[i] = ++j;
        } else {
            fail[i] = 0;
        }
    }
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:4 ms
内存:264 KiB

输入文件(1.in

aacaa

答案文件(1.out

2
1 2

用户输出

2
1 2

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:6 ms
内存:300 KiB

输入文件(2.in

abababa

答案文件(2.out

3
1 3 5

用户输出

3
1 3 5

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:5 ms
内存:300 KiB

输入文件(3.in

abcccab

答案文件(3.out

1
2

用户输出

1
2

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:5 ms
内存:344 KiB

输入文件(4.in

abacaba

答案文件(4.out

2
1 3

用户输出

2
1 3

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:4 ms
内存:344 KiB

输入文件(5.in

aaaaaaaaaaaa

答案文件(5.out

11
1 2 3 4 5 6 7 8 9 10 11

用户输出

11
1 2 3 4 5 6 7 8 9 10 11

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:4 ms
内存:276 KiB

输入文件(6.in

a

答案文件(6.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:5 ms
内存:304 KiB

输入文件(7.in

aacac

答案文件(7.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:5 ms
内存:264 KiB

输入文件(8.in

cb

答案文件(8.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:4 ms
内存:348 KiB

输入文件(9.in

cbbbcbbb

答案文件(9.out

1
4

用户输出

1
4

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:5 ms
内存:344 KiB

输入文件(10.in

baaabbaaab

答案文件(10.out

2
1 5

用户输出

2
1 5

系统信息

Exited with return code 0
测试点 #11
Accepted
得分:100
用时:4 ms
内存:348 KiB

输入文件(11.in

aaaaaabaaaaaabaaaaaabaaaaaabaaaaaabaaaaaabaaaaaabaaaaaab

答案文件(11.out

7
7 14 21 28 35 42 49

用户输出

7
7 14 21 28 35 42 49

系统信息

Exited with return code 0
测试点 #12
Accepted
得分:100
用时:5 ms
内存:272 KiB

输入文件(12.in

bababbaaaabbababbaaaabbababbaaaabbabab

答案文件(12.out

5
1 3 5 16 27

用户输出

5
1 3 5 16 27

系统信息

Exited with return code 0
测试点 #13
Accepted
得分:100
用时:4 ms
内存:272 KiB

输入文件(13.in

cababacababacababacababac

答案文件(13.out

4
1 7 13 19

用户输出

4
1 7 13 19

系统信息

Exited with return code 0
测试点 #14
Accepted
得分:100
用时:4 ms
内存:300 KiB

输入文件(14.in

babcaaacabbabbbccaabababaaaaaabbcacbbcccaccbcacabacba

答案文件(14.out

1
2

用户输出

1
2

系统信息

Exited with return code 0
测试点 #15
Accepted
得分:100
用时:4 ms
内存:296 KiB

输入文件(15.in

baccbdbacbbdbddbdcdcbdddbbbdaaadbcbdadbbddbbdbcdcacadabbbcbabcbbaccbdba

答案文件(15.out

2
2 8

用户输出

2
2 8

系统信息

Exited with return code 0
测试点 #16
Accepted
得分:100
用时:19 ms
内存:1736 KiB

输入文件(16.in

abababababababababababababababababababababababababababababababababababababababababababababababababab
<199902 bytes omitted>

答案文件(16.out

99999
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 6
<644351 bytes omitted>

用户输出

99999
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 
<644321 bytes omitted>

系统信息

Exited with return code 0
测试点 #17
Accepted
得分:100
用时:6 ms
内存:1316 KiB

输入文件(17.in

abbbbbbbbbabbbbbabbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbabbbbbbbabbbbabbbbabbbabababbbbbbabbabbbbbbb
<199653 bytes omitted>

答案文件(17.out

1
53

用户输出

1
53

系统信息

Exited with return code 0
测试点 #18
Accepted
得分:100
用时:17 ms
内存:1820 KiB

输入文件(18.in

utututututututututututututututututututututututututututututututututututututututututututututututututut
<199901 bytes omitted>

答案文件(18.out

99999
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65
<644346 bytes omitted>

用户输出

99999
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 8
<644316 bytes omitted>

系统信息

Exited with return code 0
测试点 #19
Accepted
得分:100
用时:32 ms
内存:2160 KiB

输入文件(19.in

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
<199902 bytes omitted>

答案文件(19.out

199999
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288797 bytes omitted>

用户输出

199999
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 4
<1288767 bytes omitted>

系统信息

Exited with return code 0
测试点 #20
Accepted
得分:100
用时:11 ms
内存:1624 KiB

输入文件(20.in

axysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxys
<199902 bytes omitted>

答案文件(20.out

49999
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120
<322128 bytes omitted>

用户输出

49999
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 132 136 140 144 148 
<322098 bytes omitted>

系统信息

Exited with return code 0