国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【bzoj1355】 Baltic2009

2019-11-14 09:23:34
字體:
來源:轉載
供稿:網友

題意 給定一個字符串A,求最短的字符串B,使得A是若干個B連接成的字符串的前綴 若A=abcabcab 則B=abc

求出A串在KMP算法中A的next數組 設A的長度為N 則答案為A的前N-next[N]位 分兩種情況討論: next[N] > N/2 next[N] <= N/2

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;char w[1000005];int n,len_s,len_w,ans,t[1000005];inline void calc_w(){ int j; t[0]=-1; for (int i=0;i<n;i++) { j=t[i]; while(w[i]!=w[j]&j!=-1) j=t[j]; t[i+1]=++j; }}int main(){ cin>>n; scanf("%s",w); calc_w(); for (int i=1;i<=n;i++) cout<<t[i]<<' '; cout<<endl; cout<<n-t[n];}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 侯马市| 繁昌县| 天水市| 瑞丽市| 舞阳县| 新丰县| 曲沃县| 桃源县| 韩城市| 平昌县| 蓬安县| 蕲春县| 太保市| 应用必备| 洞头县| 梅州市| 宝清县| 旬阳县| 灌阳县| 米脂县| 莆田市| 永靖县| 阿瓦提县| 莲花县| 吉首市| 广州市| 海丰县| 潼南县| 江油市| 开鲁县| 淮阳县| 平泉县| 曲麻莱县| 雷波县| 拜城县| 鲜城| 商城县| 比如县| 莫力| 霍州市| 合作市|