Poj 1047 字串處理,KMP

2022-05-24 16:33:07 字數 933 閱讀 4808

2014-05-29 00:35:26

題意 & 思路:判斷給出的數num各乘以(1....n(num的位數))是否都是迴圈數。顯然的大數乘法,我的思路是將原num擴充套件成兩倍長(如1245擴充套件為12451245),再對每個積進行kmp匹配,全配上說明是迴圈數。

#include #include 

#include

using

namespace

std;

const

int maxn = 60

;char f[maxn + 5],tf[maxn + 5

];char arr[2 * maxn + 5

];int next[maxn + 5

],tlen,len;

void

get_next()

else

}}bool

kmp()

else

}if(j ==tlen )

else

}int

main()

arr[

2 * len] = '\0'

;

for(int j = 0; j < maxn + 5; j++)

for(int i = 0; i < len; i++)

//逆序儲存數字,並標記每個位數

int flag = 1

;

for(int i = 2; i <= len; i++)

}char

temp;

for(int j = 0; j < tlen / 2; j++)

if(!kmp())

}for(int i = 0; i < len; i++)

if(!flag)

else

}return0;

}

poj2752 字串子KMP應用

統計字首字尾相等的個數,包括自身,從小到大輸出。可以通過next向前統計。因為每乙個next i 都指向該串前部字串 p0p1.pk 1 與i之前字串相等 pi k 1.pi 2pi 1 的最大字串,只要再向前統計字串的匹配個數,即可得到更小的匹配情況。還有,開大的陣列的話,不能子main 裡面開,...

poj2752 字串子KMP應用

統計字首字尾相等的個數,包括自身,從小到大輸出。可以通過next向前統計。因為每乙個next i 都指向該串前部字串 p0p1.pk 1 與i之前字串相等 pi k 1.pi 2pi 1 的最大字串,只要再向前統計字串的匹配個數,即可得到更小的匹配情況。還有,開大的陣列的話,不能子main 裡面開,...

8 8字串處理

字串處理 string 無子類 hello 構造字串物件 public int length 獲取字串的長度 system.out.println 輸入姓名 scanner sc new scanner system.in string str sc.nextline string str 李芳 s...