ababaaabbbbbbbaabaaaaababababbaaabbaabaabaabaaabbaaababbbabbaababbaabbababbaabbaaabbabbbaaaabaabbbaa
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#21981 | #1059. 1-07E. JM的模板题 | Accepted | 100 | 10520 ms | 266160 K | C++ 17 / 1.6 K | Leohh | 2020-02-11 16:26:06 |
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <queue>
#define MAX_T 1000005
#define MAX_A 30
#define int long long
using namespace std;
int n, tot = 1, ans = 0;
int a[MAX_T];
int w[MAX_T];
int f[MAX_T];
int c[MAX_T][MAX_A];
vector<int> e[MAX_T];
queue<int> q;
void insert(const string &s) {
int x = 1;
for (int i = 0; i < s.size(); i++) {
int t = s[i] - 'a';
if (!c[x][t]) {
c[x][t] = ++tot;
}
x = c[x][t];
}
a[x]++;
}
void build() {
for (int i = 0; i < 26; i++) {
c[0][i] = 1;
}
q.push(1);
while (!q.empty()) {
int x = q.front();
q.pop();
for (int i = 0; i < 26; i++) {
if (c[x][i]) {
int t = f[x];
while (!c[t][i]) {
t = f[t];
}
f[c[x][i]] = c[t][i];
e[c[t][i]].push_back(c[x][i]);
q.push(c[x][i]);
}
}
}
}
void match(const string &s) {
int x = 1;
for (int i = 0; i < s.size(); i++) {
int t = s[i] - 'a';
while (!c[x][t]) {
x = f[x];
}
x = c[x][t];
w[x]++;
}
}
void dfs(int x) {
for (int i = 0; i < e[x].size(); i++) {
int t = e[x][i];
dfs(t);
w[x] += w[t];
}
ans += a[x] * w[x];
}
signed main() {
string s, p;
cin >> s >> n;
for (int i = 1; i <= n; i++) {
cin >> p;
insert(p);
}
build();
match(s);
dfs(1);
cout << ans << endl;
}
ababaaabbbbbbbaabaaaaababababbaaabbaabaabaabaaabbaaababbbabbaababbaabbababbaabbaaabbabbbaaaabaabbbaa
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
bbaaaabaaaabbbbaaabbbbabbaaabaaabbbbbaaabababaabbbaaabbabaaaababaaabababbabaaababbbabbabababaaaababb
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
ababbbaaaababbababaaabbbbabbaabaabbaaababbabbbaaaaaabababbbbabaababaabaaaaaabbbabbabbbbbbbbabbababba
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
bbbbbabbaaabbaaabbabbbabbbabbabaaababbaaabaaabababbaaaabbaaabbbbbbbabbabaabbaabbabababaaaaababbabaaa
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
abaaaaaabbaaaaabaabaabbaaaaabbbbbaababbaaabbaaababbbbaaaaaaaaaaabaababbabbbbaaaaababbbbbbaabbbbabbab
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
babbbbbabbaabbbbabbbababbaaabaabaaabaabbaabbbabbbaaabbbabbbbbbbabbbabaabbbbabbbababaaaabbababaababaa
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
baaaaaaaaabaabbbbbbabababbaabaababbbaababbbbabaabababaabbabaabaabbaaaabaaabbabaabbbbbbabababbbbbbabb
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
baababbbbbbbbaaabbbbbbbbbabbaabbaaaaabababbbbbabbbababaaaaabababbbaababaaaabbbababababbaabbaabbabbab
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
abbbbaabbbbbaabbaaabaaabbbbabbbaaabbbbaaababbbbbbabbaaababaaaaaaabaabbbaaabbbaabbbabbbbabbbbbaababba
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
aaababbbaabbabaaaababbabaaabaabbaabbbbbbbaababbabbbaaababbaabbaaabbabababbaabaaabaaababaaaaaabbabbba
<2000107 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
cbedbecbbaacaaedadbaaadebacdcdeaebdeaeccaeccedcddadcaeddadcedebeadeeebabeebadaeeccabaececebdabcdcbbe
<2199910 bytes omitted>
用户输出
10266
系统信息
Exited with return code 0
caacebdeebebecebcabecedeccdcacaaadeddaddbebeddecaddcebdeaababaebadbbebacdabccdcbdbabdadaeccdecbcccde
<2199910 bytes omitted>
用户输出
10165
系统信息
Exited with return code 0
ecacbcbaccbacdedebaebeabaaeabccbedaaceaaeabbbcbbacadbbadeceacbdbdebadcdabcdeeebaaedaaacacebbccecaddb
<2199910 bytes omitted>
用户输出
10003
系统信息
Exited with return code 0
dbcdaaebbadbddcebebbbcaabebbadbaeddeadcccddedbabcdbdeebbebbbdaecdadedcaaabedcecbdcdbadbeabeaebcceccb
<2199910 bytes omitted>
用户输出
10297
系统信息
Exited with return code 0
eddecaacdbacbedaaaecacecdaedbdcbcaeeddedaacbecbabcbababcbddbabbbaccebcbbecdadadcbeabbdadabbdecdeacee
<2199910 bytes omitted>
用户输出
10355
系统信息
Exited with return code 0
cdacecdebdabeeedddadbdaabbdecaeaabebaaacdcccddebbeeaecdedcacbaabedccdececbdbbcdedbeaccbeaeeebdaaaceb
<2199910 bytes omitted>
用户输出
10238
系统信息
Exited with return code 0
cddbdacadcdcdeebcbedaeaeaabbbedabecddeaecededdeddddeececadceabcdcbedeccbeeaccbccaeeddaecccbeaedebeba
<2199910 bytes omitted>
用户输出
10314
系统信息
Exited with return code 0
ecdceedcbcbdbccbccbbeeeceeedcaaeebecceaaecacbacdcdebbceaecddacaadeeedbbeacdbdccccbeaebeaacbdcdecaacd
<2199910 bytes omitted>
用户输出
10392
系统信息
Exited with return code 0
adeedbeeccaadcebededeadbbbddebdcbcabcbaaddaccdddddeebdeccdedbdbcccebcbdbbcbdcbeeacdbaaebdebadbdaecad
<2199910 bytes omitted>
用户输出
10195
系统信息
Exited with return code 0
abcacbdccbdaeebbccbbdadacaebceebdacbbcccebdcbacddbabaeccdbcbeeecddeddacabadbbbceeadbaabbcdeedeadcedd
<2199910 bytes omitted>
用户输出
10374
系统信息
Exited with return code 0
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
<1502408 bytes omitted>
用户输出
999500500
系统信息
Exited with return code 0