裸 MST。Kruskal 直接下了就是了
太巧妙了,只要做兩次 dijkstra 就可得到答案
相當於找負環,因為 FJ 可以 start at some field,所以只要圖中存在負環,答案就是 YES
裸 Floyd Warshall
並查集經典題。 並查集要記得 init 啊
並查集基本題,直接看程式碼
直覺可以想到是 0/1 背包,但又有點不一樣…
沒有類似總重量限制這個條件,並且要使 sum(s) + sum(f)
最大,sum(s), sum(f) > 0
因為每種 blocks 有其高度限制,所以可以順勢想到:高度限制越低的 block 要越先疊。
將每種 blocks 根據高度限制(a
),由小到大排序後,題目就變成了多重背包。
解多重背包,有兩種方法
個人認為,這是非典型的題目,想得到的人真強啊。
觀察範測: