NSUOJ 2567困難的回文串

2021-10-08 15:15:28 字數 1043 閱讀 7449

回文串判斷太多方法了,暴力,雜湊,manacher。。。

描述:測試資料有多組:

對於每組測試資料輸入乙個n表示字串長度,接著輸入長度為n的字串(1 <= n <= 1e7),對於每組輸出判斷當前字串是否為回文串,如果是回文串輸出yes,否則輸出no。

input

6aaaaaa

6xuejie

output

yesno

這道題其實可以加上雙雜湊來精準判斷,無奈超時,所以我有兩個mod和x也就是base

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define ull unsigned long long

using

namespace std;

const

int maxx=

0x3f3f3f3f

;const ull mod1=

1e9+7;

const ull mod2=

1e9+9;

const ull x1=

1331

;const ull x2=

13331

;int

main()

if(n&1)

getchar()

;//若n為奇數則跳過乙個字元

ll w=

1,e=

1,c=

0,d=0;

for(

int i=

0;i<

(n>>1)

;i++)if

(a==c)

printf

("yes\n");

else

printf

("no\n");

}return0;

}

214最短回文串(KMP演算法 困難)

1 題目描述 給定乙個字串 s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。2 示例 輸入 aacecaaa 輸出 aaacecaaa 3 題解 問題可以簡化為從s的開頭尋找最大的回文子串,然後將剩下的後面部分翻轉後接到s的前面。例如對於字串aacecaa...

困難的串問題

題目描述 如果乙個字串中存在相鄰的重複子串,則稱為容易的串,反之稱為困難的串。輸入正整數n和l,輸出由前l個大寫字母組成的,字典序第n小的困難的串。l不大於5,n不大於20。輸入在一行輸入n和l的值,遇到檔案末尾結束。輸出在一行輸出字典序第n小的困難的串。樣例輸入 7 3樣例輸出 abacaba i...

困難的串(dfs)

困難的串 題意 如果乙個字串包含兩個相鄰的重複子串,則稱它是 容易的串 其他串稱為 困難的串 例如,bb abcdabcd都是容易的串,而d dc abdad cbabcba都是困難的串。輸入正整數n和l,輸出由前l個字元組成的 字典序第k個困難的串。例如,當l 3時,前7個困難的串 分別為a ab...