CF做題日記1

地山發表於2024-10-30
  1. 當一個題貪心和\(dp\)都可能,而又無法證明貪心假了,可以透過資料範圍推測用什麼,實在不行可以先嚐試\(dp\),看看能否最佳化。
  2. 一個題中給的文字條件,可以先嚐試將它轉化為數學或計算機語言,這樣可能會發現一些性質。
    咱們舉個例子CF1842A,
    這題是個紅題應該很簡單(但我沒做出來)

假設所選怪物的能力值分別為x 和 y
y,那麼怪物的能力值將分別變為 x−y和y−x
如果任何怪物的能力值 ≤0,則該怪物死亡

這句話可變為

能力值變為\(x-min(x,y)\)\(y-min(x,y)\)

由此,我們可以知道兩方能力總值不變。
又由這句話

當至少一個玩家沒有活著的怪物時,遊戲結束。贏家是至少有一個怪物活著的玩家。

可知哪方能力總值先變為\(0\),他就輸了。然後就很輕鬆了

  1. 當出現\(d[v]-d[u]\ge w\)時,可想到用最短路(這也是差分約束的想法)。(例子
    (當然,你得先轉化好題意)。