【ybtoj 高效进阶 2.3】 【KMP】 公共子串
题目
解题思路
找到最短的一个串
然后枚举它的开头
然后它和自己跑一遍求next
然后再用别的串和它跑出最长前缀,取最短的为当前方案答案
输出最长到方案答案
n也就5,长度不过2000,只是有点难想
代码
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
struct lzf{
char x[2010];
}s[10];
int q,l,mi,da,len=2020,ans,nxt[2010];
char t[2010];
void qnxt() //求next数组
{
int j=0;
nxt[1]=0;
for (int i=2;