- 當一個題貪心和\(dp\)都可能,而又無法證明貪心假了,可以透過資料範圍推測用什麼,實在不行可以先嚐試\(dp\),看看能否最佳化。
- 一個題中給的文字條件,可以先嚐試將它轉化為數學或計算機語言,這樣可能會發現一些性質。
咱們舉個例子CF1842A,
這題是個紅題應該很簡單(但我沒做出來)
假設所選怪物的能力值分別為x 和 y
y,那麼怪物的能力值將分別變為 x−y和y−x
如果任何怪物的能力值 ≤0,則該怪物死亡
這句話可變為
能力值變為\(x-min(x,y)\)和\(y-min(x,y)\)
由此,我們可以知道兩方能力總值不變。
又由這句話
當至少一個玩家沒有活著的怪物時,遊戲結束。贏家是至少有一個怪物活著的玩家。
可知哪方能力總值先變為\(0\),他就輸了。然後就很輕鬆了
- 當出現\(d[v]-d[u]\ge w\)時,可想到用最短路(這也是差分約束的想法)。(例子
(當然,你得先轉化好題意)。