本文主要是介绍P4391 [BOI2009] Radio Transmission 无线传输,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
P4391 [BOI2009] Radio Transmission 无线传输 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P4391
题目分析
除去kmp外;x的值实际上为 L - next[L];
代码示例
#include <bits/stdc++.h>
using namespace std;
const int N = 1e7 + 10;char s[N];
int next1[N];int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int l; cin >> l >> s;int i = 1, j = 0;next1[0] = next1[1] = 0;while (i < l) {if (s[i] == s[j]) next1[++ i] = ++j;else if (j == 0) next1[++ i] = 0;else j = next1[j];} cout << (l - next1[l]) << '\n';
}
这篇关于P4391 [BOI2009] Radio Transmission 无线传输的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!