编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#60668 #1058. JM的荧光棒工厂 Accepted 100 103 ms 2164 K C++ 11 / 1.2 K Rhodoks 2021-07-16 13:58:30
显示原始代码
#include <bits/stdc++.h>
#define INL inline
#define REG register
#define DB double
#define LDB long double
#define ULL unsigned long long
#define LL long long

#define RPT(i, x, y) for (REG int i = (x); i < (y); i++)
#define DRPT(i, x, y) for (REG int i = (x); i > (y); i--)
#define MST(a, b) memset((a), (b), sizeof(a))
#define MRK() cout << "Mark" << endl;
#define WRT(x) cout << #x << " = " << (x) << endl;

#define MAXN 2100000
#define MAXM 10000
#define MOD 998244353
#define INF 0x3f3f3f3f
#define LLINF 0x3f3f3f3f3f3f3f3f
#define EPS 1e-5

#define _ 0
using namespace std;

char s[MAXN];
int fail[MAXN];
int ans;
stack<int> stk;
void make_fail() {
    for (int i = 1, j = 0; s[i]; i++) {
        while (j && s[i] != s[j]) j = fail[j - 1];
        if (s[i] == s[j])
            fail[i] = ++j;
        else
            fail[i] = 0;
    }
}

int main() {
    scanf("%s", s);
    int len = strlen(s);
    make_fail();
    int pos = len - 1;
    while (1) {
        if (fail[pos] != 0) {
            stk.push(fail[pos]);
            ans++;
            pos = fail[pos] - 1;
        } else
            break;
    }
    cout << ans << endl;
    while (!stk.empty()) {
        printf("%d ", stk.top());
        stk.pop();
    }
    // RPT(i,0,len)
    //	cout<<i<<' '<<fail[i]<<endl;
    return ~~(0 ^ _ ^ 0);
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:2 ms
内存:376 KiB

输入文件(1.in

aacaa

答案文件(1.out

2
1 2

用户输出

2
1 2 

系统信息

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

输入文件(2.in

abababa

答案文件(2.out

3
1 3 5

用户输出

3
1 3 5 

系统信息

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

输入文件(3.in

abcccab

答案文件(3.out

1
2

用户输出

1
2 

系统信息

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

输入文件(4.in

abacaba

答案文件(4.out

2
1 3

用户输出

2
1 3 

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:3 ms
内存:248 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
用时:3 ms
内存:376 KiB

输入文件(6.in

a

答案文件(6.out

0

用户输出

0

系统信息

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

输入文件(7.in

aacac

答案文件(7.out

0

用户输出

0

系统信息

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

输入文件(8.in

cb

答案文件(8.out

0

用户输出

0

系统信息

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

输入文件(9.in

cbbbcbbb

答案文件(9.out

1
4

用户输出

1
4 

系统信息

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

输入文件(10.in

baaabbaaab

答案文件(10.out

2
1 5

用户输出

2
1 5 

系统信息

Exited with return code 0
测试点 #11
Accepted
得分:100
用时:3 ms
内存:248 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
用时:3 ms
内存:248 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
用时:2 ms
内存:248 KiB

输入文件(13.in

cababacababacababacababac

答案文件(13.out

4
1 7 13 19

用户输出

4
1 7 13 19 

系统信息

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

输入文件(14.in

babcaaacabbabbbccaabababaaaaaabbcacbbcccaccbcacabacba

答案文件(14.out

1
2

用户输出

1
2 

系统信息

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

输入文件(15.in

baccbdbacbbdbddbdcdcbdddbbbdaaadbcbdadbbddbbdbcdcacadabbbcbabcbbaccbdba

答案文件(15.out

2
2 8

用户输出

2
2 8 

系统信息

Exited with return code 0
测试点 #16
Accepted
得分:100
用时:13 ms
内存:1864 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
用时:5 ms
内存:1240 KiB

输入文件(17.in

abbbbbbbbbabbbbbabbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbabbbbbbbabbbbabbbbabbbabababbbbbbabbabbbbbbb
<199653 bytes omitted>

答案文件(17.out

1
53

用户输出

1
53 

系统信息

Exited with return code 0
测试点 #18
Accepted
得分:100
用时:13 ms
内存:1872 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
用时:23 ms
内存:2164 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
用时:9 ms
内存:1516 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