差分約束/2-sat小結:
差分約束:
1、題目特徵一般比較明顯,是求解關於一組變數的特殊不等式組。
2、一般分三種:最長路(求最小值)、最短路(求最大值)、判斷解是否存在(判負環)。
3、建邊的時候一定要注意隱含的不等式。根據題目所給資訊靈活加邊加超級源點,靈活應對各種不同的輸出。
核心還是建邊。
4、經典的應用有分糖果、區間差分約束等。一般用spfa,因為一般會有負邊權。
5、有的問題還需要預處理、增加偏移量等。
2-sat:
1、最明顯的特徵:每件物品有且只有兩種選擇,只能選擇其中一種true or false。(有的題目也可以轉化成二選一來用2-sat做)
2、板子是不會有問題的,所以只需要注意加邊即可。對於每個約束,想好新增幾條邊(1,2,4)。我的習慣是用x表示選,x+n表示不選。根據具體題目,有時候n會變化。
3、對於比較複雜的判邊,一定要理清思路。有時候會加上二分,當然要注意上下界的設定。注意資料型別和輸入輸出、陣列大小等細節。
4、有的題目注意拆點。
2023年2月2日訓練日記
今天是臘月28了,年味是越來越濃了,上午uc湖區買了點年貨,下午開始做題的,做了列印圖形,迴圈就可以解決。然後做了字元改變,這道題如果用字原始的查詢變換在輸出就特別麻煩了,直接在查詢中就餓輸出就比較簡單,不用改變陣列下標。然後做了顏色精簡,簡單題,按照題目中的公式去和集合中的顏色進行計算距離,取最小...
2023年3月1日訓練日記
最近就看了一下stl的內容,總結一下,stl就是乙個資料容器,所有的操作都是對容器裡的資料進行操作 1,stack棧,這是乙個先進後出的資料結構,它只有乙個出口,只能對棧頂元素進行操作,就像乙個教室只有乙個門,先進去的人只能後出。stack儲存在 定義 stackstack name 如 stack...
2023年3月6日訓練日記
上完一整天的課,數分高代連著上的感覺真是爽呀 不過這樣的一天要比閒著充實的多,其實上課有時候還是很有趣的。回到今天的 中,明天一天的空課,做完作業後應該可以多寫幾個 了,雖然也不一定能寫出來,真的很辜負老師對我的期望呀,感覺有點小愧疚。每天忙忙碌碌的不知道一天在幹啥,其實每天真的有這麼忙嗎,捫心自問...