[2-sat]小結

因爲一直不怎麼會這個東西,所以今天整理一下這個東西的內容。

原來這個東西這麼簡單的嗎。2sat裏面一條邊x->y表示x選了之後y必須選,只要建出滿足這種條件的邊之後跑tarjan就可以知道到底有沒有解了。因此x &^| y這種布爾運算就可以試一試 x在取某個值時y會不會強制取值,會的話就連邊就行了,然後tarjan一下,看一看 x和!x是否在同一個聯通塊裏,如果都沒有的話就說明有一組解。
容易證明2sat的連邊具有傳遞性。當圖的邊數過大時,可以考慮建立輔助點來優化建邊。

當你的圖已經建好並且要求構造方案的時候,x=id[x]

發佈了169 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章