日韩性视频-久久久蜜桃-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马拉车算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 91视频污在线观看 | 精品国产免费无码久久久 | 男人日女人逼 | 黄色草逼视频 | 国产老妇伦国产熟女老妇视频 | 国产成人精品视频 | 白丝校花扒腿让我c | 欧美videossex极品 | 蜜桃臀av| 春日野结衣av | 91爱爱网站 | 91免费高清 | 久久综合99 | 泰坦尼克号3小时49分的观看方法 | 肥熟女一区二区三肥熟女 | 欧美人体视频 | 日韩欧美国产成人 | 国产中文字幕乱人伦在线观看 | 亚洲一区二区三区免费 | 色综合视频网 | 国产高清成人 | 午夜av网址 | 欧洲熟妇的性久久久久久 | 亚洲第5页 | 欧美性大战久久久久久久蜜桃 | 欧美特级黄色片 | 在线视频网 | 影音先锋久久久久av综合网成人 | 88av在线| 日韩欧美一级大片 | 91麻豆视频在线观看 | 亚洲一区二区播放 | 亚洲小视频 | 色香天天 | 红桃视频亚洲 | 狠狠干男人的天堂 | 久久高清内射无套 | 日韩欧美国产一区二区 | 男人添女人囗交视频 | 一级特黄特色的免费大片视频 | 美日韩av| 伊人免费在线观看高清版 | 插我一区二区在线观看 | 伊人黄色片 | 国产精品99久久久久久久 | 光溜溜视频素材大全美女 | 午夜伦理剧场 | 日本精品中文字幕 | 一本色道久久88综合日韩精品 | 色悠悠av | 在线观看一区二区三区视频 | 天堂中文视频 | 欧美精选一区二区 | 日本五十肥熟交尾 | 在线观看日韩视频 | 亚欧美精品 | 黄色网免费看 | 91视频色 | 三级网站 | 日日日操 | 成人一级视频在线观看 | 青青操操| 国产男女猛烈无遮挡 | 国产精品主播一区二区 | 日韩不卡在线观看 | 天堂网视频 | www.777奇米影视 | 黄色日批网站 | 日韩成人在线网站 | 古代黄色一级片 | 以女性视角写的高h爽文 | 国产白丝精品91爽爽久久 | 蜜桃又黄又粗又爽av免 | 99re视频这里只有精品 | 老司机精品视频在线播放 | 国产精品高清无码 | 五级毛片| 女人的天堂av在线 | 秋霞国产 | 欧美日韩一区二区三区国产精品成人 | 999热 | 91狠狠操| 欧美精品久久久久久 | 干综合网| 在线免费一区二区 | 日本内谢少妇xxxxx少交 | 精品视频亚洲 | 黄色在线免费视频 | 国产免费一区二区三区最新不卡 | 少妇人妻精品一区二区三区 | 黄色片在哪里看 | 欧美日韩精品一区二区 | 黄色网址进入 | 欧美大尺度床戏做爰 | 制服师生在线 | 国产一区二区福利 | 国产区视频在线观看 | 欧美激情视频一区 | 国产视频在线播放 |