1 条题解
-
0
题目大意
有 个对手,必须用恰好 轮比赛全部战胜。
每轮你可以选择若干对手(至少一个)进行比赛,并将他们全部淘汰。
该轮获得的奖金为 淘汰人数 ÷ 该轮开始前剩余总人数。
每轮奖金池固定为 元,求最大可能获得的总奖金。
问题形式化
设第 轮开始前剩余人数为 (,),该轮淘汰人数为 ,则该轮奖金为:
[ \frac{d_i}{s_i} ]
总奖金为:
[ S = \sum_{i=1}^K \frac{d_i}{s_i} ]
约束条件:
初步分析与贪心直觉
我们希望最大化 。
由于早期 较大,此时淘汰更多人( 大)带来的“奖金率”更高,因为分母大而分子增加的比例收益大。
反之,后期 较小,即使淘汰所有人()也只能得到 ,所以后期收益有限。因此,最优策略倾向于在前几轮淘汰尽可能多的人,但必须保证后面每轮至少能淘汰 人。
建立模型与连续近似
为了便于分析,暂时忽略 为整数的限制,假设可以淘汰任意实数人数。
令 (),则:[ \frac{d_i}{s_i} = 1 - x_i ] [ s_{K+1} = N \cdot \prod_{i=1}^K x_i = 0 \quad \Rightarrow \quad x_K = 0 ]
总奖金变为:
[ S = \sum_{i=1}^K (1 - x_i) = K - \sum_{i=1}^K x_i ]
问题转化为在约束 和 (因为 )下,最小化 。
连续最优解
由均值不等式,当 时, 最小。
此时:[ S_{\text{max}} \approx (K-1)\left(1 - N^{-1/(K-1)}\right) + 1 ]
直观理解:在最优策略下,除最后一轮外,每轮结束后剩余人数按固定比例减少,这个比例是 。
整数情况与动态规划
实际 是整数,需要用动态规划精确求解。
状态设计
设 表示用 轮战胜 个人能获得的最大奖金。
转移方程
第 轮开始时剩余 人,我们选择淘汰 人(,因为后面 轮至少需要 人),则:
[ dp[t][n] = \max_{1 \le m \le n - (t-1)} \left( \frac{m}{n} + dp[t-1][n-m] \right) ]
初始条件:
- (不可行)
最终答案:。
优化转移
直接转移复杂度 ,需要优化。
改写转移:
[ dp[t][n] = \max_{1 \le m \le n - (t-1)} \left( dp[t-1][n-m] - \frac{n-m}{n} \right) + 1 ]
令 ,则 的范围是 ,且:
[ dp[t][n] = 1 + \max_{k = t-1}^{n-1} \left( dp[t-1][k] - \frac{k}{n} \right) ]
对于固定的 ,考虑函数 。
我们要对每个 最大化 ,即最大化 的形式,其中 。
凸包技巧(斜率优化)
如果点集 构成上凸包(即 是关于 的凹函数),则可以在凸包上二分查找斜率 对应的切点,从而在 时间内找到最优 。
事实证明 确实是凹的,因此可以这样优化。
对每个 ,维护一个凸包,枚举 时在凸包上二分,总复杂度 。
另一种高效方法:WQS 二分
如果去掉“恰好 轮”的限制,问题变为:在总淘汰 人的前提下,自由选择轮数,最大化总奖金。
这个无限制问题更容易贪心求解:每次选择淘汰人数使 最大,直到所有人淘汰完。WQS 二分的思想是:给每轮增加一个惩罚 ,然后求解无限制问题,通过调整 使得最优解恰好使用 轮。
具体步骤:
- 二分惩罚 。
- 对于给定的 ,用贪心计算最大收益 和轮数 。
- 贪心规则:当剩余 人时,选择淘汰 人最大化 ,直到所有人淘汰。
- 找到 使 。
- 最终答案 。
该方法复杂度 ,其中 是二分精度范围,效率更高。
总结
- 贪心本质:优先在前几轮淘汰更多人。
- 连续近似解:$S_{\max} \approx (K-1)\left(1 - N^{-1/(K-1)}\right) + 1$。
- 精确解法:
- DP + 凸包优化:
- WQS 二分 + 贪心:(推荐)
- 注意输出精度要求 ,需用
long double计算。
本题结合了贪心策略、动态规划优化和凸函数性质,是一道经典的优化问题。
- 1
信息
- ID
- 5737
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者