2022 牛客多校第二場題解+補充
《關於我和我的隊友沒有人會博弈和計算幾何這檔事》
《關於我數據結構已經寫不動了這檔事》
A Falfa with Polygon
以爲是計算幾何,結果是 dp。我用的是隨機化。
考慮 \(f(s,i,j)\) 表示從 \(s\) 開始走了 \(i\) 條邊現在在 \(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\),推出
與剛纔的結論矛盾!(這裏下標不太一樣,i 是 j 的決策點,i' 是 j' 的決策點)
那麼單次就變成 \(O(nk)\) 了。
再發現一個大小爲 k 的凸包,任意一個點開始都可以。
可以隨機,不斷找起點,期望 \(\frac nk\) 就能找到答案。
因此期望是 \(O(n^2)\) 的。
C Link with Nim Game
不敢猜結論,哎。
首先在異或和爲 0 時,輪數是和。證明取 lowbit 最小的數 -1。方案數是能夠 -1 的數的個數,這裏要特別判斷一下。
異或和 >0 時,轉化成上述情況即可。
D Link with Game Glitch
第一次寫沒取 log,實屬長了教訓,WA 了 8 發。
F NIO with String Game
trie 樹題,本身不難,不過有點坑。
首先字符串有可能到 \(10^{14}\) 這個級別,其次第二個操作 p 要開 long long。
還有這個超出字符的處理,要記下剩下的字符個數和不在 trie 樹的第一個字符用來比較。
G Link with Monotonic Subsequence
幫 11:50 睡醒的隊友簽了個到。主要不是題,是那個結論。會了再補。
H Take the Elevator
注意,不是 a 直接到 b,可以中途到其他樓層停留一下的。(反正就是前綴和)
後面的題都是隊友寫的,我沒做。