2022 牛客多校第二場題解+補充

2022 牛客多校第二場題解+補充

《關於我和我的隊友沒有人會博弈和計算幾何這檔事》

《關於我數據結構已經寫不動了這檔事》

A Falfa with Polygon

以爲是計算幾何,結果是 dp。我用的是隨機化。

考慮 \(f(s,i,j)\) 表示從 \(s\) 開始走了 \(i\) 條邊現在在 \(j\) 點,那麼

\[f(s,i,j)=\text{max}(f_(s,i-1,k)+dis(k,j))(k<j) \]

直接做是 \(O(n^3k)\) 的。

其次,凸包有個性質:對於順次的四個點 \(i<i'<j<j'\),有 \(dis(i,j)+dis(i',j')\ge dis(i,j')+dis(i,j')\),畫個圖,三角形兩邊大於第三邊。這是四邊形不等式。

這告訴我們什麼呢?\(f(s,i,j)\) 的決策點 \(k\) 是遞增的。具體可以反證法,假設 \(i'<i\),推出

\[dp(i)+dis(i,j)\ge dp(i')+dis(i',j) \]

\[dp(i')+dis(i',j')\ge dp(i)+dis(i,j') \]

與剛纔的結論矛盾!(這裏下標不太一樣,i 是 j 的決策點,i' 是 j' 的決策點)

那麼單次就變成 \(O(nk)\) 了。

再發現一個大小爲 k 的凸包,任意一個點開始都可以。

可以隨機,不斷找起點,期望 \(\frac nk\) 就能找到答案。

因此期望是 \(O(n^2)\) 的。

不敢猜結論,哎。

首先在異或和爲 0 時,輪數是和。證明取 lowbit 最小的數 -1。方案數是能夠 -1 的數的個數,這裏要特別判斷一下。

異或和 >0 時,轉化成上述情況即可。

第一次寫沒取 log,實屬長了教訓,WA 了 8 發。

F NIO with String Game

trie 樹題,本身不難,不過有點坑。

首先字符串有可能到 \(10^{14}\) 這個級別,其次第二個操作 p 要開 long long。

還有這個超出字符的處理,要記下剩下的字符個數和不在 trie 樹的第一個字符用來比較。

幫 11:50 睡醒的隊友簽了個到。主要不是題,是那個結論。會了再補。

H Take the Elevator

注意,不是 a 直接到 b,可以中途到其他樓層停留一下的。(反正就是前綴和)

後面的題都是隊友寫的,我沒做。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章