比赛 |
20231005 |
评测结果 |
AAAAAAAAA |
题目名称 |
无线传输 |
最终得分 |
100 |
用户昵称 |
zxhhh |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2023-10-05 11:23:49 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6+5; // n\le 106?
int n, nxt[N];
char s[N];
int main () {
freopen("wareless.in", "r", stdin);
freopen("wareless.out", "w", stdout);
scanf("%d%s", &n, s+1);
nxt[0] = -1; nxt[1] = 0;
for (int i = 2, j = 0;i <= n;i++) {
while (j && s[j+1] != s[i]) j = nxt[j];
if (s[j+1] == s[i]) j++;
nxt[i] = j;
}
printf("%d", n-nxt[n]);
return 0;
}