ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#210937 | #2067. 肉夹馍 | WILDFIRE233 | 100 | 1367ms | 3132kb | C++11 | 981b | 2024-08-08 11:49:13 | 2024-08-08 14:29:13 |
answer
#ifndef ONLINE_JUDGE
#pragma warning(disable:4996)
#pragma warning(disable:6031)
#endif
#include <bits/stdc++.h>
#define base 131
#define _base 4580153
#define mod 100000007
using namespace std;
string str; long long qPow(int a, int b) {
long long res = 1, t = a % mod;
while (b) {
if (b & 1) res = (res * t) % mod;
t = (t * t) % mod;
b >>= 1LL;
}
return res;
}
int main() {
cin >> str;
printf("0 0 ");
int l = 0, r = 2; //左闭右开
long long h1 = 0, h2 = 0;
for (int I = 2; I < str.size(); I++)
{
h1 = (h1 * base % mod + str[l]) % mod, l++;
h2 = (h2 * base % mod + str[I]) % mod;
if (l == r) {
h1 = ((h1 + mod - str[l-1]) % mod * _base) % mod, l--;
h2 = (h2 - str[r] * qPow(base, I - r) % mod + mod) % mod, r++;
}
while (h1 != h2 && l != 0) {
h1 = ((h1 + mod - str[l-1]) % mod * _base) % mod, l--;
h2 = (h2 - str[r] * qPow(base, I - r) % mod + mod) % mod, r++;
}
printf("%d ", l);
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 0ms
memory: 1220kb
input:
qpbvqpbvqpbvavdqpbvqpbvqpbvavdqpbvqpbvqpbvavdfnfninqpbvqpbvqpbvavdqpbvqpbvqpbvavdqpbvqpbvqpbvavd
output:
0 0 0 0 1 2 3 0 1 2 3 4 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...
result:
ok 96 tokens
Test #2:
score: 0
Accepted
time: 0ms
memory: 1224kb
input:
wfalgbgweavpwhfahfewhavweahuwbvbqvuivhuiaehufuaeuvdafuivjafislfhbibcuuiabcuibsv
output:
0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok 79 tokens
Test #3:
score: 0
Accepted
time: 0ms
memory: 1220kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
output:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 ...
result:
ok 100 tokens
Subtask #2:
score: 20
Accepted
Test #4:
score: 20
Accepted
time: 0ms
memory: 1232kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 ...
result:
ok 3000 tokens
Test #5:
score: 0
Accepted
time: 0ms
memory: 1228kb
input:
cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj...
output:
0 0 1 0 1 2 3 2 3 4 5 4 5 6 7 6 7 8 9 8 9 10 11 10 11 12 13 12 13 14 15 14 15 16 17 16 17 18 19 18 1...
result:
ok 3000 tokens
Test #6:
score: 0
Accepted
time: 0ms
memory: 1228kb
input:
ckcckckcckcckckcckcckckcckcckckcsdvhckcckckcckcckckcckcckckcckcckckcsdvhckcckckcckcckckcckcckckcckcc...
output:
0 0 1 1 2 1 2 3 4 2 3 4 5 6 7 3 4 5 6 4 5 6 7 8 9 10 11 12 13 14 15 8 0 0 0 0 1 2 3 4 5 6 7 8 9 10 1...
result:
ok 2828 tokens
Subtask #3:
score: 30
Accepted
Test #7:
score: 30
Accepted
time: 14ms
memory: 1352kb
input:
aocnsaosashoicfaaocnsaosashoicfaqowfwpqgvqvhoabcdoawaocnsaosashoicfaaocnsaosashoicfaqowfwpqgvqvhoabc...
output:
0 0 0 0 0 1 2 0 1 0 0 0 0 0 0 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ...
result:
ok 100000 tokens
Test #8:
score: 0
Accepted
time: 13ms
memory: 1352kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 ...
result:
ok 100000 tokens
Test #9:
score: 0
Accepted
time: 17ms
memory: 1348kb
input:
vivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivi...
output:
0 0 1 0 1 2 3 2 3 4 5 4 5 6 7 6 7 8 9 8 9 10 11 10 11 12 13 12 13 14 15 14 15 16 17 16 17 18 19 18 1...
result:
ok 100000 tokens
Subtask #4:
score: 40
Accepted
Test #10:
score: 40
Accepted
time: 321ms
memory: 3128kb
input:
aoifcpiapdpsahfahiofhdiohraoifcpiapdpsahfahiofhdiohraoifcpiapdpsahfahiofhdiohraoifcpiapdpsahfahiofhd...
output:
0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
result:
ok 2000000 tokens
Test #11:
score: 0
Accepted
time: 330ms
memory: 3132kb
input:
abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabac...
output:
0 0 1 0 1 2 3 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
result:
ok 2000000 tokens
Test #12:
score: 0
Accepted
time: 349ms
memory: 3128kb
input:
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg...
output:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 ...
result:
ok 2000000 tokens
Test #13:
score: 0
Accepted
time: 323ms
memory: 3132kb
input:
duududuududuududuududuududuududuududuududuududuududuududuududuududuududuududuududuududuududuududuudu...
output:
0 0 0 1 2 1 2 3 4 2 1 2 3 4 5 6 7 8 9 5 6 7 8 9 10 11 12 13 14 10 11 12 13 14 15 16 17 18 19 15 16 1...
result:
ok 2000000 tokens