The 3rd Universal Cup. Stage 16: Nanjing
- 連結:https://qoj.ac/contest/1828
- 時間:2024 Nov 10, 02:00-07:00
- 團隊:ネクロマンサー (SorahISA)
- 成績:4 / 13, Penalty 565, dirt 0% ( A B C D E F G H I J K L M )
這場打的太混了 QwQ
整場都沒看計分板,因此一直覺得 L 可做,還有漏掉 G 是二元樹的性質。
Problem A. Hey, Have You Seen My Kangaroo?
待補
Problem B. Birthday Gift
Tags: observation
給定只包含
012的字串 ,你可以不斷刪除 不為01或10的 substring,問字串最短長度。
- 多筆測資、
先考慮只有 01 的做法:可以 greedy 的遇到相同字元就刪掉(用 stack 維護)。
在這題也可以用類似的方法,維護把相鄰 00 跟 11 刪去的字串,會得到被 2 切開來,每段都是 01 交錯的字串。
而這就可以使用 DP,維護以 0 跟 1 結尾的字串的所有長度,遇到 2 就將其換成 0 或 1(一樣當遇到連續相同字元就刪掉),因為可以構造出來的長度是連續的,於是可以只維護最小最大值。具體實作可以參考 submission。
以下是題解給出的天才解法:
令 為把 所有偶數 position 的 01 字元反轉形成的字串,那 中刪掉 00 或 11 就會變成 中刪掉 01 或 10。
一樣先假設沒有 2 的情形,可以發現只有當 字串全部字元相同時才不存在 01 或 10,因此答案就是 中 0 跟 1 的數量差。
如今我們只在意數量差了,那麼自然有 2 就可以往數量少的那邊補,這份 code 只有短短 8 行。
Problem C. Topology
待補
Problem D. Toe-Tac-Tics
待補
Problem E. Left Shifting 3
水題,跳過
Problem F. Subway
待補
Problem G. Binary Tree
Tags: interactive
待補
Problem H. Border Jump 2
待補
Problem I. Bingo
Tags: inclusive-exclusive, ntt
給你 ,你要將其由左上至右下填入 的表格 中。定義一個表格的 bingo 數 是
請計算所有 種 的排列的 bingo 數之和,模 。
min of max 很不好算,能不能把他換成只有 max 呢?
答案是可以的!用 min-max 排容:
以上算式的感性證明就是當 max 是第 小的時候你有 種其他東西的取法,而這些除了在 的時候都會正負消掉。
固定 為 ,並枚舉 中包含了幾個 row max、幾個 column max,可以得到以下算式:
其中 代表的是被 裡的 row 跟 column 覆蓋的格子數量,max of max 讓我們只需要計算這 個格子的 max 恰好是 的排列數量就好。
直接做是 ,得想辦法加速。令
那麼答案就是
把二項式拆開, 可以整理成如下形式,注意下標從 開始:
把只跟 有關的提出來變成 ,剩下的式子能整理成 的形式,感覺跟卷積很像了?
都是能預處理的,於是我們將 先 reverse 讓 裡面變成 的形式,讓 ,這題就能開心的用 NTT 解決掉了!
時間複雜度:。
Problem J. Social Media
Tags: N/A
水題,跳過
Problem K. Strips
Tags: greedy
水題,跳過
Problem L.
待補
Problem M. Ordainer of Inexorable Judgment
待補