【Z函数】codeforces 2010 C2. Message Transmission Error (hard version)
1.【字符串哈希+二分】AcWing 3508. 最长公共子串
2.【Z函数】codeforces 2010 C2. Message Transmission Error (hard version)
前言
Z 函数的定义
对于一个字符串
Z 函数的应用
- 字符串匹配问题
题目
https://codeforces.com/problemset/problem/2010/C2
题意
给定一个字符串
若存在,输出
题解
对于条件“存在一个长度大于
对于条件“真前缀
参考代码
#include<bits/stdc++.h> using namespace std; string s; int n, m; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> s; n = s.size(); m = n / 2 + 1; vector<int> z(n); z[0] = n; for (int i = 1, l, r = 0; i < m; ++ i) { if (i <= r) z[i] = min(z[i - l], r - i); while (s[z[i]] == s[z[i] + i]) ++ z[i]; if (i + z[i] > r) l = i, r = i + z[i]; if (z[i] >= m && r == n) { cout << "YES\n" << s.substr(0, z[i]); return 0; } } cout << "NO\n"; return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee