給定乙個 \(n\) 個點的競賽圖並在其中欽定了 \(k\) 個點, 資料保證刪去欽定的 \(k\) 個點後這個圖沒有環. 問在不刪去欽定的這 \(k\) 個點的情況下最少要刪幾個點讓原圖沒有環. 如果不存在答案小於 \(k\) 的解則輸出impossible
.
\(n,k\le2000\).
好像這篇草稿鴿的時間有點久qaq
首先乙個顯然的性質是無環的競賽圖一定是乙個全序集.
其次是如果欽定的點不是全序集那麼必定無解.
無解判掉之後所有的點就被分成了兩個全序集合(資料保證剩下的點無環). 我們列舉剩下的點看它能不能合法插入被欽定的全序集中. 對於能合法插入的點, 一定會有乙個唯一的插入位置. 顯然我們必須讓這些點的插入位置遞增(因為要滿足兩個全序關係). 於是我們按照全序順序把所有能插入的點的插入位置求出來, 然後在上面求乙個最長上公升子串行就好了.
時間複雜度 \(o(n^2)\).
2018HN省隊集訓D8T3 水果拼盤
給定 n 個集合,每個集合包含 1,m 中的一些整數,在這些集合中隨機選取 k 個集合,求這 k 個集合的並集的權值的期望.乙個集合的權值定義為,對於所有 1,m 的整數,若集合中含有 i 則產生 a i 的貢獻,否則產生 b i 的貢獻.n le 1 times 10 5,m le 18,k le...
2018SD省隊集訓R1 D1
經過每條邊至少一次並且回到原點,我們可以想到尤拉迴路。發現尤拉迴路的特點是每個點度數為偶數,然後我們的目標就是把度數奇數的那些點通過新增一些長度盡量小的邊變成度數為偶數。新增哪些邊呢?不難想到是最小生成樹上的邊,那我們先新增成最小生成樹,其實就是每條邊可以選 不選,每個點的要求被選的相鄰邊是奇數 偶...
2018SD省隊集訓R2 D2
我們並不需要知道相對應位置的數字是不是相等,只要置換之後的hash值相等就行了。hash 函式本身相當於每個位置乘上 x 的若干次方,置換之後只要改變次方的順序就好了。具體來說,設我們的base值是m,一段區間的hash值是 n i 0s i mi i 0nsi mi,然後乙個置換的hash值是 n...