1. 程式人生 > >一點總結

一點總結

沒有 建設 的區別 標記 修改 賦值 總結 一個點 關於

1.SPFA轉移狀態

2.可以標記一個狀態(比如到達某個點的什麽最小值)

3.累計方案數時如果一個能做的另一個也能做並且二者完全重復就可以把一個清空

4.拓撲排序可以確保DP的無後效性

6.巧用upper_bound和lower_bound,註意二分的重要性

7.破壞可以轉換成建設

8.並查集,每一次兩個不同的並查集合並都會減少一個聯通塊

9.模擬退火要保證不斷向答案接近

10.對一個隊列要學會轉換,如中位數這題把大於中位數的和小於中位數的分別賦值

11.最小割的核心是把點集分開了

12.關於主席樹,靜態主席樹就是借助之前建的樹減少空間,而每次查詢就是前綴和查詢。類比普通前綴和,樹狀數組和靜態主席樹,動態主席樹。其實就是帶修改的區別。

而不可能每次對一個點維護樹狀數組(前綴和),因此樹狀數組的每一個結點是一棵樹

13.在有向圖中,如果有且僅有一個點的出度為0 (沒有指向其他點的邊),那麽該點可以被所有點遍歷到;反之,該圖中沒有可以被所有點遍歷到的點

14.數據很小的話可以考慮一下很暴力的多維DP

一點總結