省選模擬52 題解

2022-03-16 18:34:38 字數 704 閱讀 5572

兩個二分圖,可以直接對應出乙個四分圖來。

第二個操作要求連通性,所以可以考慮先生成一棵樹,這棵樹顯然是二分圖。

對於剩下的邊,考慮是否形成二分圖。

如果能夠形成,那麼可以對應出合法的四分圖。

如果不能,那麼說明剩下的邊中存在奇環。

因為樹邊已經連通了,所以這個奇環是合法解。

第乙個包考察閱讀理解,第二三個包發現搞乙個類似進製數的東西就可以一次互動回答多個詢問。

第四個包比較麻煩。$n=16$ 似乎可以先每次處理兩個詢問。

那麼顯然分別分配權值 $1,10^$,這樣的話第乙個數的低位確定了,但是最高的幾位是模糊的,第二個數的全域性都是模糊的。

考場上想到了這裡,然後沒繼續想下去。

其實詢問的結果不一定要直接拿下來用,可以做一些加減操作。

如果我們得知了第乙個數的最高位,那麼第乙個數和第二個數都可以簡單求出。

同理得知第二個數的最低位也行,後者實現更加簡單。

還剩下了兩次詢問,那麼每次得知四個數的最低位就行了。

實現方法就是分配權值 $1,10^,10^,10^$。

依次解出,把這個數在當前的貢獻也消掉,就可以繼續操作。

容易發現最優策略是回來的時候再吃食物。

然後問題是乙個簡單的揹包,但是狀態數有點多。

然後發現在位置比較遠的地方,如果吃了很多東西就回不來了。

所以可以發現狀態數可以壓到調和級數級別,複雜度就對了。

省選模擬52

實際上是個構造題。正解給的構造方法是首先找出任意一棵生成樹,對於非生成樹上的邊,假如這些邊構成了乙個二分圖,那麼可以對這兩個二分圖分別染色,最後討論一下四種顏色。否則,說明剩餘的邊中一定存在奇環,那麼由於生成樹的存在說明剩餘的邊一定是聯通的,找到任意乙個奇環並輸出即可。對於subtask1,直接對於...

省選模擬104 題解

a.簽到題 把每個點向它右側比他大的第乙個點之間連邊,如果沒有那麼向 root 連邊。那麼可以構成一棵樹。特判一些情況之後,可以認為問題就是 1.給某節點和它的所有兒子節點權值加上乙個值。2.詢問一條路徑的權值和。首先考慮如果只詢問單點的維護方法,其實就是打乙個標記表示給整個兒子集合都加上了若干權值...

省選模擬102 題解

a.island 對於正負不同的情況,o n 列舉左側的位置然後計算。對於正負性相同的情況,把笛卡爾樹建出來,然後每次考慮跨過最小值的貢獻。分幾種情況 左右均不超過最小值,左右僅有乙個超過最小值,左右都超過最小值。然後順便統計上其中乙個端點為劃分點的貢獻。然後瘋狂的寫式子拆式子就沒了。做法挺簡單的,...