日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

manacher马拉车算法

發布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 manacher马拉车算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法講解

算法講解1

#include <iostream> #define maxn 10e+6; using namespace std; char s[maxn],str[maxn*2]; int p[maxn*2]; void init(char *s) {int j=0;str[0]='#';for(int i=1;i<s.length();++i){str[j++]=s[i];str[j++]='#';}str[j]='\0'; } int manacher(char *s) {init(s);int id=0;int r=-1,maxlen=0;//r最右回文半徑的位置p[0]=-1,p[1]=1;for(int i=0;i<str.length();++i){if(i<r)p[i]=min(p[2*id-i],r-i);elsep[i]=1;while(str[i-p[i]]==str[i+p[i])p[i]++;if(r<i+p[i])//更新最右的回文半徑,且當有多個位置的最右回文半徑位置相同時只保留第一個位置出現的這個最右回文半徑位置r=i+p[i],id=i;maxlen=max(maxlen,p[i]-1);}return maxlen; } int main() {cin>>s;cout<<monacher(s)<<endl;return 0; }

hdu 3068 ? ?不知道tle在哪里

#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #define maxn 110005 using namespace std;char s[110005],str[110005*2]; int p[110005]; void init(char *s) {str[0]='#';int j=1;for(int i=0;i<strlen(s);++i){str[j++]=s[i];str[j++]='#';}// str[j++]=')';str[j]='\0'; } int manacher() {//p[0]=1;int r=0,id=0,len=0;for(int i=1;i<strlen(str);++i){if(i<r){p[i]=min(p[2*id-i],r-i);}elsep[i]=1;while(str[i-p[i]]==str[i+p[i]]&&i-p[i]>=0&&i+p[i]<strlen(str))p[i]++;if(r<i+id){r=i+id;id=i;}len=max(len,p[i]-1);}return len; } int main() {while(scanf("%s",s)){init(s);cout<<manacher()<<endl;}return 0; }

orzorz ?依舊tle

#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #define maxn 110010 using namespace std;char s[maxn],str[maxn*2]; int p[maxn]; /*int init(char *s) {int j=0;str[j++]='@';str[j++]='#';for(int i=0;s[i];++i){str[j++]=s[i];str[j++]='#';}str[j]='\0';return j; }*/ /*int manacher() {//p[0]=1;int r=0,id=0,len=0;int j=0;str[j++]='@';str[j++]='#';for(int i=0;s[i];++i){str[j++]=s[i];str[j++]='#';}str[j]='\0';for(int i=1;i<j;++i){if(i<r){p[i]=min(p[2*id-i],r-i);}elsep[i]=1;while(str[i-p[i]]==str[i+p[i]])p[i]++;if(r<i+id){r=i+id;id=i;}if(len<p[i]-1)len=p[i]-1;}return len; }*/ int main() {while(scanf("%s",s)!=EOF){int r=0,id=0,len=0;int j=0;str[j++]='@';str[j++]='#';for(int i=0;s[i];++i){str[j++]=s[i];str[j++]='#';}str[j]='\0';for(int i=1;i<j;++i){if(i<r){p[i]=min(p[2*id-i],r-i);}elsep[i]=1;while(str[i-p[i]]==str[i+p[i]])p[i]++;if(r<i+id){r=i+id;id=i;}if(len<p[i]-1)len=p[i]-1;}//cout<<len<<endl;printf("%d\n",len);}return 0; }

總結

以上是生活随笔為你收集整理的manacher马拉车算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲国产视频一区二区三区 | 午夜av免费在线观看 | 成人av激情 | 精品视频在线免费 | 天天插日日干 | 小泽玛利亚一区二区三区视频 | 亚洲精品国产精华液 | 不卡国产在线 | 天天色棕合合合合合合合 | 色眯眯av | 亚欧美精品 | 在哪里可以看毛片 | 国产精品77 | 91成品视频| 国产视频第二页 | 五月婷婷六月香 | 国产免费黄色小视频 | 午夜免费影院 | 中文字幕偷拍 | 亚日韩一区 | 日韩福利小视频 | 锕锕锕锕锕锕锕锕 | 青娱乐最新视频 | 天堂在线视频免费观看 | 四虎成人精品永久免费av九九 | 中日韩在线观看 | 欧美精品一区二区在线观看 | 国产特级淫片免费看 | 亚欧美一区二区三区 | 91丨porny丨中文 | 18岁免费观看电视连续剧 | 99久久久无码国产精品性青椒 | 日本调教电影 | 黄色免费一级 | www.久久伊人 | 奇米网7777 | 国产综合精品久久久久成人影 | 亚洲dvd| 午夜tv | 欧美性爱精品在线 | 日本一道本 | 毛片中文字幕 | 国产欧美精品aaaaaa片 | 涩里番在线观看 | 一区二区在线免费 | 国产极品探花 | 欧美3p视频 | 国产精品亚洲一区 | 天天操天天操天天操天天操 | 日韩精品无码一区二区三区 | 午夜精品久久久久久久99热浪潮 | 狠狠艹 | 国产97免费视频 | 一级a性色生活片久久无 | 欧美 日韩 国产 成人 在线观看 | 欧美啊v| xxxx性视频| 男人天堂手机在线观看 | 女同一区 | 欧美国产在线视频 | 大色网小色网 | 综合伊人 | 在线免费观看av不卡 | 精品一区李梓熙捆绑 | 欧美精品久久久久久久免费 | www.一级片| 熟妇人妻精品一区二区三区视频 | 无法忍受在线观看 | 国产69久久精品成人看 | 欧美成人小视频 | 亚洲精品欧美激情 | 美女脱光衣服让男人捅 | 播播激情网 | 91欧美亚洲 | 国产不卡在线观看视频 | a级性生活视频 | 超碰免费观看 | 国产91白丝在一线播放 | 一级片www| 久久久电影 | 少妇无码av无码专区在线观看 | 日本一道在线 | 国产aaaaaa| 国产精品国产精品国产 | 欧美 中文字幕 | 中文在线一区 | 国产一区二区在线免费 | 欧美爱爱网址 | 精品国产一区二区三区四 | 免费淫片 | 玖玖爱在线观看 | 亚洲免费a视频 | 日韩免费视频一区二区视频在线观看 | 亚洲色图40p| 国产一区在线免费观看 | 午夜精品久久久久久久久久蜜桃 | 日韩精品福利 | 免费av网站在线观看 | 97国产精品人人爽人人做 |