NOI2022省選挑戰賽 Contest12
阿新 • • 發佈:2022-04-02
T1.
求平面內兩兩不相交的 矩形三元組個數 $ n <= 2e5$
一開始想著分類討論,不過不是很可做,於是想了一下對於相交的矩形連邊,不過沒細想,就寄了
加入我們現在有一個很快的方式,對於原圖的兩個矩形如果相交就連一條邊
相當於是求,這個無向圖中,大小為3的獨立集個數
考慮 選中的三個點 之間的邊的數量,來求出ans
邊數為0,即為答案
邊數為3,為原圖中三元環個數
邊數為2,列舉每個點,然後相鄰的節點選兩個 減去 三元環個數
邊數為1,列舉每個點,然後選一個點伸出去,然後在原圖選一個點不與第一個選擇點相交,最後方案數 - 2 就是1
最後 邊數為0 = 總 - 3 - 2 - 1
最後只要統計,每個矩形,在原圖中的 每個 度數之和即可
考慮對於一個矩形如何統計其 在新無向圖裡面的度數
考慮掃描線
有兩類情況
令現在統計的是 now ,to是現在加進來的矩形
now的左邊界先出現,那麼只要在 to的左邊界進去的時候,直接對左端點以及在裡面的更新一下就好了
考慮將to加進去,即前面有的矩形數
考慮處理矩形——去重
可以考慮差分,就可以得到一個區間的覆蓋矩形個數
即維護兩顆線段樹
一個維護整體加法
一個維護區間差分
然後就可以維護每個矩形的度數
T2.
sol.
沒有問號,直接區間/狀壓dp做一下就好了
考慮有問號,就寄了
好像是之前正睿的一個加強版
之前正睿那個是 dp套dp隨便搞搞
而這個就更高妙一點了
是直接在DFA上面考慮的
考慮雖然DFA的狀態可以看成無限的
可以發現,在這個DFA上,很多狀態都是可以相互到達的,所以就直接揚了
只用考慮長度為10的新增序列到另一個