2024年12月隨便做做

saubguiu發表於2024-12-05

測試題目選集

暫無。

Miscellaneous

[清華集訓2016] Alice 和 Bob 又在玩遊戲

考慮計運算元樹作為一個有向圖遊戲時的 SG 函式值。根據 SG 函式的定義,應該有:

\[SG(u)=\mathrm {mex}_{v\in subtree(u)}(\bigoplus_{p,father(p)\in \mathrm{path} (u,v),p\notin \mathrm{path}(u,v)} SG(p)) \]

感覺有點棘手,不妨做一步簡單的轉化:

\[\begin{aligned} s(i) = \bigoplus_{p\in son(i)} SG(p) \\ \\ &\bigoplus_{p,father(p)\in \mathrm{path} (u,v),p\notin \mathrm{path}(u,v)} SG(p) \\ =&\bigoplus_{p\in \mathrm{path}(u,v)} s(p) \end{aligned} \]

然後就是每個點初始集合中有一個 \(s(i)\),同時從下往上將 \(u\) 的所有兒子的集合內的值異或上 \(s(u)\) 後加入 \(u\) 的集合中,同時 \(SG(u)\) 應該等於此時這個集合的 \(\mathrm{mex}\)。這個可以使用一些資料結構簡單做到 \(O(n\log_2^2 n)\),比如啟發式合併。不過更符合異或思路的應該是時間複雜度 \(O(n\log_2 n)\) 的 01trie 合併。

Submission #799025 - QOJ.ac

[BZOJ2121] 字串游戲

考慮實際上應該是求出 \(f(l,r)\) 表示是否可以只刪掉 \([l,r]\) 中的所有字元就可以求出答案。

隨便搓一下,可以得到一個 \(O(|L|^4\sum |p|)\) 的區間 dp,但是考慮似乎計算區間內的刪除關係對於每個 \((l,r)\) 單獨計算有點奢侈了。

考慮記 \(g(l,r,i,j)\) 表示 \([l,r]\) 刪成只剩第 \(i\) 個字串的前 \(j\) 個字元。

發現 \(g(l,r,i,j)\leftarrow g(l,r-1,i,j-1)\)\(g(l,r,i,j)\leftarrow g(l,k,i,j) | f(k+1,r)\)。而且 \(f(l,r)\leftarrow g(l,r,i,|p_i|)\),於是可以得到一個 \(O(n^3\sum |p|)\) 的做法。

提交記錄 #2737108 - Becoder

[SDOI2010] Auction 程式碼拍賣會

\(f(x)=(f(x-1)\times10+1)\mod p\)。考慮這個題目要求的充要條件就是選出一個大小小於等於 \(8\) 的可重集 \(s\),使得:

\[f(n)+\sum_{v\in s} f(v)\equiv 0\mod p \]

因為 \(p\) 很小所以可以揹包解決,時間複雜度 \(O(|\Sigma|^3p^2)\),其中 \(|\Sigma|\) 為可重集最大大小,為 \(8\),因此可以透過此題。

提交記錄 #2737458 - Becoder

[AGC018C] Coins

考慮只有三種硬幣,因此應該具有特殊性。考慮只有兩種時怎麼做。簡單的做法是先所有都取 \(a_i\),然後選 \(b_i-a_i\) 最大的幾個變成取 \(b_i\)。另外還有一種思考,就是對於 \(i,j\) 而言,如果兩個中只有一個是 \(a_i\),那麼如果 \(a_i+b_j\) 更優的話,那麼就有 \(a_i+b_j\ge a_j+b_i\),即 \(a_i-b_i\ge a_j-b_j\)。那麼這個是有傳遞性的,所以可以按照 \(a_i-b_i\) 排序後前 \(x\) 個選 \(a\),後 \(y\) 個選 \(b\)

將兩者均運用在此題上,發現可以先全部選 \(a_i\),然後讓 \(b_i\leftarrow b_i-a_i,c_i\leftarrow c_i-a_i\)。然後就是選 \(y+z\) 個位置,其中 \(y\) 個給答案貢獻 \(b_i\)\(z\) 個給答案貢獻 \(c_i\)。然後可以運用到第二種思考,考慮 \(b_i+c_j\ge b_j+c_i\) 時應該有 \(b_i-c_i\ge b_j-c_j\),於是排序之後找到斷點使得前面選 \(y\)\(b\) 和後面選 \(z\)\(c\) 的總和最大。這個可以用優先佇列預處理。

總的時間複雜度是 \(O((x+y+z)\log_2(x+y+z))\)

Submission #60424071 - AtCoder Grand Contest 018

相關文章