致敬傳奇調題王 HDK
A.Meaning Mean
給定一個序列 \(a\),每次選擇 \(i,j\ (i\neq j)\),使得其縮成一個值為 \(\lfloor\frac{a_i+a_j}{2}\rfloor\) 的數,直至剩餘一個數,求最終答案的最大值
一開始想的是最小化 \(\lfloor\frac{a_i+a_j}{2}\rfloor\) 的損失,後來發現這點損失基本上可以不管,因為最後的值一定可以表示成 \(\lfloor\frac{a_i+\lfloor\frac{a_j+\cdots}{2}\rfloor}{2}\rfloor\) 的形式,可以近似看成 \(a_i\times 2^{-1}+a_j\times 2^{-2}\times\cdots\),最大化其值也即將最大值放在前面,貪心即可
B.Maximize Mex
給定一個序列 \(a\) 與一個數 \(x\),可以進行如下操作
- 選擇任意一個 \(i\),使得 \(a_i\) 自增 \(x\)
最大化其 \(\text{mex}\)
發現一個 \(a_i\) 只能由滿足 \(a_j\equiv a_i\pmod x\) 且 \(a_j\le a_i\) 的 \(j\) 轉移得到
因此對 \(a_i\mod x\) 開桶,求 \(\text{mex}\) 肯定是列舉自然數,\(a_j\le a_i\) 的條件可以透過每次轉移完再放進桶裡來實現,每次從桶裡拿一個出來填 \(\text{mex}\)