P1210 回文檢測 manacher演算法

2021-08-17 10:24:14 字數 931 閱讀 3378

p1210 回文檢測 (manacher演算法)

str2[i]=str2[i]-'a'+'a'; //str2只取小寫字母,因為,回文大小寫都算,但字元判斷確不是這樣,所以這樣處理

len=init(str2); //init是要返回新陣列長度的。

for(i=1;ii)

len[i]=min(maxn-i,len[2*po-i]);

else

len[i]=1;

while(newn[i-len[i]]==newn[i+len[i]])//i+-len[i]

len[i]++;

if(len[i]+i>maxn)

if(maxlen

ans=max(ans,len[i]);

}printf("%d\n",ans-1);

for(i=pos2[left];i<=pos2[right];i++)//這裡i是取等號。

printf("%c",str1[i]);

printf("\n");

}

洛谷P1210回文檢測

據說如果你給無限只母牛和無限臺巨型可攜式電腦 有非常大的鍵盤 那麼母牛們會製造出世上最棒的回文。你的工作就是去尋找這些牛製造的奇觀 最棒的回文 在尋找回文時不用理睬那些標點符號 空格 但應該保留下來以便做為答案輸出 只用考慮字母 a z 和 a z 要你尋找的最長的回文的文章是乙個不超過20,000...

luogu1210 回文檢測

據說如果你給無限只母牛和無限臺巨型可攜式電腦 有非常大的鍵盤 那麼母牛們會製造出世上最棒的回文。你的工作就是去尋找這些牛製造的奇觀 最棒的回文 在尋找回文時不用理睬那些標點符號 空格 但應該保留下來以便做為答案輸出 只用考慮字母 a z 和 a z 要你尋找的最長的回文的文章是乙個不超過20,000...

P2010 回文日期

呃呃呃,這個題我寫的 比較繁瑣,不過自認為還是很容易理解的。輸入的是兩個日期,如果把它看成乙個數的話,資料範圍也就是10000000 99999999 而且在其中很多數是不會出現的 必須是真實存在的日期 如果是從輸入的第乙個數到第二個數迴圈一次的話,1s的時間限制也是能過的,迴圈的時候,要判斷這個數...