致敬传奇调题王 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}\)