P1725 琪露諾 題解(單調佇列)

2022-06-20 01:57:11 字數 537 閱讀 2706

琪露諾

單調佇列優化的\(dp\)。

狀態轉移方程:\(f[i]=max+a[i]\)

考慮單調佇列優化。

因為剛學,不是很熟悉單調佇列,特寫一篇詳細的解釋。

\(queue\) 陣列儲存乙個佇列,他的頭部和尾部的下標分別用head和tail表示。

\(f\) 陣列是\(dp\)用到的陣列。

首先讀入每乙個座標處的價值\(a[i]\)

列舉\(i\),從\(l\)到\(n\),分別計算\(f[i]\),當\(i+r>n\)時,儲存最大值ans。

單調佇列的注釋寫在**中。

#includeint i,n,l,r,a[200010],f[200010],ans=-2147483648;//這個題資料比較水,ans=0也能過,但理論上是不允許這樣的

int queue[200010],head=0,tail=-1;

int main()

printf("%d",ans);

return 0;

}

P1725 琪露諾 單調佇列優化

描述 小河可以看作一列格仔依次編號為0到n,琪露諾只能從編號小的格仔移動到編號大的格仔。而且琪露諾按照一種特殊的方式進行移動,當她在格仔i時,她只移動到區間 i l,i r 中的任意一格。你問為什麼她這麼移動,這還不簡單,因為她是笨蛋啊。每乙個格仔都有乙個冰凍指數a i 編號為0的格仔冰凍指數為0。...

P1725 琪露諾 dp 單調佇列優化

看了題後不難想到這個題是個dp,而狀態轉移方程為dp i max dp k k i l k i r a i 如果暴力去dp會多了一層 l,r 的迴圈,可能會超時,所以對區間 l,r 進行優化,用單調佇列進行優化。維護區間 l,r 的最大值即可。include typedef long long ll...

洛谷P1725琪露諾 單調佇列 dp

題目描述 在幻想鄉,琪露諾是以笨蛋聞名的冰之妖精。某一天,琪露諾又在玩速凍青蛙,就是用冰把青蛙瞬間凍起來。但是這只青蛙比以往的要聰明許多,在琪露諾來之前就已經跑到了河的對岸。於是琪露諾決定到河岸去追青蛙。小河可以看作一列格仔依次編號為0到n,琪露諾只能從編號小的格仔移動到編號大的格仔。而且琪露諾按照...