编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#21027 #1059. 1-07E. JM的模板题 Accepted 100 8131 ms 441140 K C++ / 1.3 K kz7279 2019-10-04 10:21:36
显示原始代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e6 + 7, MAXC = 3e1 + 7;
int tr[MAXN][MAXC], fail[MAXN];
ll e[MAXN], ans[MAXN * MAXC];
int n, cnt;
void insert(string s) {
    int u = 0;
    for (int i = 0; i < s.size(); i++) {
        int t = s[i] - 'a';
        if (!tr[u][t])
            tr[u][t] = ++cnt;
        u = tr[u][t];
    }
    e[u]++;
}
void bfs() {
    queue<int> q;
    for (int i = 0; i < 26; i++)
        if (tr[0][i])
            q.push(tr[0][i]);
    while (!q.empty()) {
        int u = q.front();
        q.pop();
        for (int i = 0; i < 26; i++) {
            if (tr[u][i])
                fail[tr[u][i]] = tr[fail[u]][i], q.push(tr[u][i]);
            else
                tr[u][i] = tr[fail[u]][i];
        }
    }
}
ll dfs(int u) {
    if (ans[u] != -1)
        return ans[u];
    if (u == 0)
        return 0;
    return ans[u] = e[u] + dfs(fail[u]);
}
ll automaton(string s) {
    int u = 0;
    ll res = 0;
    for (int i = 0; i < s.size(); i++) {
        int t = s[i] - 'a';
        u = tr[u][t];
        res += dfs(u);
    }
    return res;
}
int main() {
    ios::sync_with_stdio(false);
    string S, T;
    cin >> S;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> T;
        insert(T);
    }
    bfs();
    memset(ans, -1, sizeof(ans));
    printf("%lld\n", automaton(S));
    //    system("pause");
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:421 ms
内存:441140 KiB

输入文件(1.in

ababaaabbbbbbbaabaaaaababababbaaabbaabaabaabaaabbaaababbbabbaababbaabbababbaabbaaabbabbbaaaabaabbbaa
<2000107 bytes omitted>

答案文件(1.out

0

用户输出

0

系统信息

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

输入文件(2.in

bbaaaabaaaabbbbaaabbbbabbaaabaaabbbbbaaabababaabbbaaabbabaaaababaaabababbabaaababbbabbabababaaaababb
<2000107 bytes omitted>

答案文件(2.out

0

用户输出

0

系统信息

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

输入文件(3.in

ababbbaaaababbababaaabbbbabbaabaabbaaababbabbbaaaaaabababbbbabaababaabaaaaaabbbabbabbbbbbbbabbababba
<2000107 bytes omitted>

答案文件(3.out

0

用户输出

0

系统信息

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

输入文件(4.in

bbbbbabbaaabbaaabbabbbabbbabbabaaababbaaabaaabababbaaaabbaaabbbbbbbabbabaabbaabbabababaaaaababbabaaa
<2000107 bytes omitted>

答案文件(4.out

0

用户输出

0

系统信息

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

输入文件(5.in

abaaaaaabbaaaaabaabaabbaaaaabbbbbaababbaaabbaaababbbbaaaaaaaaaaabaababbabbbbaaaaababbbbbbaabbbbabbab
<2000107 bytes omitted>

答案文件(5.out

0

用户输出

0

系统信息

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

输入文件(6.in

babbbbbabbaabbbbabbbababbaaabaabaaabaabbaabbbabbbaaabbbabbbbbbbabbbabaabbbbabbbababaaaabbababaababaa
<2000107 bytes omitted>

答案文件(6.out

0

用户输出

0

系统信息

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

输入文件(7.in

baaaaaaaaabaabbbbbbabababbaabaababbbaababbbbabaabababaabbabaabaabbaaaabaaabbabaabbbbbbabababbbbbbabb
<2000107 bytes omitted>

答案文件(7.out

0

用户输出

0

系统信息

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

输入文件(8.in

baababbbbbbbbaaabbbbbbbbbabbaabbaaaaabababbbbbabbbababaaaaabababbbaababaaaabbbababababbaabbaabbabbab
<2000107 bytes omitted>

答案文件(8.out

0

用户输出

0

系统信息

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

输入文件(9.in

abbbbaabbbbbaabbaaabaaabbbbabbbaaabbbbaaababbbbbbabbaaababaaaaaaabaabbbaaabbbaabbbabbbbabbbbbaababba
<2000107 bytes omitted>

答案文件(9.out

0

用户输出

0

系统信息

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

输入文件(10.in

aaababbbaabbabaaaababbabaaabaabbaabbbbbbbaababbabbbaaababbaabbaaabbabababbaabaaabaaababaaaaaabbabbba
<2000107 bytes omitted>

答案文件(10.out

0

用户输出

0

系统信息

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

输入文件(11.in

cbedbecbbaacaaedadbaaadebacdcdeaebdeaeccaeccedcddadcaeddadcedebeadeeebabeebadaeeccabaececebdabcdcbbe
<2199910 bytes omitted>

答案文件(11.out

10266

用户输出

10266

系统信息

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

输入文件(12.in

caacebdeebebecebcabecedeccdcacaaadeddaddbebeddecaddcebdeaababaebadbbebacdabccdcbdbabdadaeccdecbcccde
<2199910 bytes omitted>

答案文件(12.out

10165

用户输出

10165

系统信息

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

输入文件(13.in

ecacbcbaccbacdedebaebeabaaeabccbedaaceaaeabbbcbbacadbbadeceacbdbdebadcdabcdeeebaaedaaacacebbccecaddb
<2199910 bytes omitted>

答案文件(13.out

10003

用户输出

10003

系统信息

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

输入文件(14.in

dbcdaaebbadbddcebebbbcaabebbadbaeddeadcccddedbabcdbdeebbebbbdaecdadedcaaabedcecbdcdbadbeabeaebcceccb
<2199910 bytes omitted>

答案文件(14.out

10297

用户输出

10297

系统信息

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

输入文件(15.in

eddecaacdbacbedaaaecacecdaedbdcbcaeeddedaacbecbabcbababcbddbabbbaccebcbbecdadadcbeabbdadabbdecdeacee
<2199910 bytes omitted>

答案文件(15.out

10355

用户输出

10355

系统信息

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

输入文件(16.in

cdacecdebdabeeedddadbdaabbdecaeaabebaaacdcccddebbeeaecdedcacbaabedccdececbdbbcdedbeaccbeaeeebdaaaceb
<2199910 bytes omitted>

答案文件(16.out

10238

用户输出

10238

系统信息

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

输入文件(17.in

cddbdacadcdcdeebcbedaeaeaabbbedabecddeaecededdeddddeececadceabcdcbedeccbeeaccbccaeeddaecccbeaedebeba
<2199910 bytes omitted>

答案文件(17.out

10314

用户输出

10314

系统信息

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

输入文件(18.in

ecdceedcbcbdbccbccbbeeeceeedcaaeebecceaaecacbacdcdebbceaecddacaadeeedbbeacdbdccccbeaebeaacbdcdecaacd
<2199910 bytes omitted>

答案文件(18.out

10392

用户输出

10392

系统信息

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

输入文件(19.in

adeedbeeccaadcebededeadbbbddebdcbcabcbaaddaccdddddeebdeccdedbdbcccebcbdbbcbdcbeeacdbaaebdebadbdaecad
<2199910 bytes omitted>

答案文件(19.out

10195

用户输出

10195

系统信息

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

输入文件(20.in

abcacbdccbdaeebbccbbdadacaebceebdacbbcccebdcbacddbabaeccdbcbeeecddeddacabadbbbceeadbaabbcdeedeadcedd
<2199910 bytes omitted>

答案文件(20.out

10374

用户输出

10374

系统信息

Exited with return code 0
测试点 #21
Accepted
得分:100
用时:122 ms
内存:292244 KiB

输入文件(21.in

ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
<1502408 bytes omitted>

答案文件(21.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #22
Accepted
得分:100
用时:122 ms
内存:292176 KiB

输入文件(22.in

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
<1502408 bytes omitted>

答案文件(22.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #23
Accepted
得分:100
用时:125 ms
内存:292224 KiB

输入文件(23.in

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
<1502408 bytes omitted>

答案文件(23.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #24
Accepted
得分:100
用时:133 ms
内存:292212 KiB

输入文件(24.in

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
<1502408 bytes omitted>

答案文件(24.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #25
Accepted
得分:100
用时:130 ms
内存:292152 KiB

输入文件(25.in

dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
<1502408 bytes omitted>

答案文件(25.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #26
Accepted
得分:100
用时:137 ms
内存:292224 KiB

输入文件(26.in

rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
<1502408 bytes omitted>

答案文件(26.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #27
Accepted
得分:100
用时:141 ms
内存:292184 KiB

输入文件(27.in

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
<1502408 bytes omitted>

答案文件(27.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #28
Accepted
得分:100
用时:119 ms
内存:292248 KiB

输入文件(28.in

jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
<1502408 bytes omitted>

答案文件(28.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #29
Accepted
得分:100
用时:132 ms
内存:292152 KiB

输入文件(29.in

pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
<1502408 bytes omitted>

答案文件(29.out

999500500

用户输出

999500500

系统信息

Exited with return code 0
测试点 #30
Accepted
得分:100
用时:135 ms
内存:292216 KiB

输入文件(30.in

llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
<1502408 bytes omitted>

答案文件(30.out

999500500

用户输出

999500500

系统信息

Exited with return code 0