1. 程式人生 > >某些簡單知識點(2)

某些簡單知識點(2)

出發 字典序 nbsp ... 縮點 則無 進行 條件 知識

只記重點

2-SAT問題
有N個集合,每個集合最多有兩個元素,要求從每個集合中都選出一個元素,並且此方案滿足若幹限制條件。
如:選A必選B,AB不同選,至少選AB一個...
解決方法是每個元素拆成兩個點分別表示選與不選,用條件的必然性進行連邊,跑BFS,若發現一個元素從一個點出發,最後兩個點都被選中,則方案失敗,換一個點出發若也失敗,則無解。
此方法的好處是簡單,易操作,可以字典序輸出方案。(不知道為什麽很多人縮點tarjan玩)。



某些簡單知識點(2)