manacher算法(迴文字符串)

定義數組p[i]表示以i爲中心的(包含i這個字符)迴文串半徑長 將字符串s從前掃到後for(int i=0;i<strlen(s);++i)來計算p[i],則最大的p[i]就是最長迴文串長度,則問題是如何去求p[i]? 由於s是從前掃到後的,所以需要計算p[i]時一定已經計算好了p[1]....p[i-1] 假設現在掃描到了i+k這個位置,現在需要計算p[i+k] 定義maxlen是i+k位置前所
相關文章
相關標籤/搜索