打算下週講課就講manacher了
這道題沒想到是一道模板題,模板中的模板
簡要說一下思路,我們先複製一遍模板(甚至變數都不用改
然後唯一的區別就是要求的是最長連續回文子串長度
那麼我們就在manacher函式裡在最後統計一下最大值就行
優秀的**在這裡
#includeusingnamespace
std;
const
int n = 21000000
;char
s[n],str[n];
intp[n],n;
intinit()
str[++j]='\0'
;
returnj;}
intmanacher()
maxn=max(maxn,p[i]-1
);//敲黑板,唯一的區別
}return
maxn;
}int
main()
return0;
}
172 完美距離
聽說這題只用普通的線段樹就可以了,但我卻用了線段樹合併。也許蒟蒻對概念並不夠了解。注意n要定義為200000,因為環的處理要佔兩倍記憶體。考試的時候沒想清楚,一開始只得了三十分,後來悄悄看了成績後直接把n開到1000000把它a掉。事後直到現在才明白當時為毛re。如下 include include...
172 立體推箱子
此題是一道比較明顯但又麻煩的廣搜題,經典的走迷宮求最少步驟的題 由於這個題的狀態有些麻煩,我們建立乙個三元組結構體 x,y,li e x,y,lie x,y,l ie x,y x,yx,y表示座標,lie lieli e表示現在是立著的還是橫著躺或是豎著躺 l ie 0 lie 0 lie 0,表示...
CLRS 17 2核算法
17.2 1 每個 k 次push或pop執行一次copy,那麼使push和pop的 co st為 2 1份用來支付本身的操作,另 1 份用於copy。17.2 2 每次操作的代價都是 3,當 i 不是 2的冪時,支付一美元,信用為 2 美元 否則就支付 i美元,使用信用支付。由於攤還代價是 3 美...