1. 程式人生 > >一句話題解整理

一句話題解整理

Solution

Luogu3803

FFT版子題

Luogu2137

時間分塊。

用dfs序+劃分樹預處理,然後考慮修改對詢問的影響。

Luogu2051

動態規劃。

考慮列的順序對答案沒有影響,設 f [ i ] [ j ]

[ k ] 表示DP到了第 i 行, j 列0個棋子, k
1
個棋子,分類討論轉移即可。

Luogu1879

輪廓線動態規劃。

記錄輪廓線,每次轉移列舉選或不選。

Luogu1131

貪心。

考慮最優的方案一定是在lca處讓兩個葉子節點距離相等。樹上貪心即可。

(這種題是怎麼評上提高+/省選-的啊,QAQ)

Luogu1169

單調棧。

考慮棋盤只有兩種情況

  1. 黑格行列奇偶不同,白格不同
  2. 白格行列奇偶相同,黑格不同

將第一種格子賦為1,第二種為0。查詢最大的全1矩陣或全0矩陣。用單調棧優化到

O ( n m )

Luogu1273

樹形DP.

f [ i ] [ j ] 表示以 i 為根的子樹中滿足 j 個客戶需求的最小收益,直接轉移即可。

Luogu2365

斜率優化DP.

f [ i ] 表示處理前 i 個貨物的最少時間。

f [ i ] = m i n { f [ j ] + s u m T [ i ] × ( s u m C [ i ] s u m C [ j ] ) + S × ( s u m C [ n ] s u m C [ j ] ) }

f [ j ] = ( S + s u m T [ i ] ) × s u m C [ j ] + f [ i ] s u m T [ i ] × s u m C [ i ] S × s u m C [ n ]

斜率優化即可。

Luogu4072

斜率優化DP.

展開方差公式發現有些為常量,只考慮變數。

f i , j = { f i 1 , j + ( s i s j ) 2 }

f i 1 , j + s j 2 = 2 s j s j + f i , j s i 2

Luogu4056

動態規劃.

考慮三個點 A ( x , y ) , B ( x 1 , y 1 ) , C ( x 1 , y 2 ) ( x > x 1 , y > y 1 > y 2 )

A > B > C : ( x x 1 ) 2 + ( y y 1 ) 2 + ( y 1 y 2 ) 2

A > C : ( x 1 x 1 ) 2 + ( y y 2 ) 2

因為