P3129 [USACO15DEC]High Card Low Card P

做法

较为简单的贪心。

先考虑不存在特殊权力,即每次都是大牌获胜。假设这次对方出的是 aia_i。分情况讨论:

  • aia_i 是还没有打出的牌中的最大值,显然我方无论如何都无法得到这局的分,因此打出最小的牌。

  • aia_i 不是最大值,则一定可以出一张牌赢得这一局,显然最优方案是出大于 aia_i 的最小值,也就是 upper_bound

而使用特殊权力,即每次都是小牌获胜,把情况反转即可。

可以考虑枚举中点,即使用权力的点 ii,然后对于每一种情况计算答案,使用 set 的复杂度是 O(n2logn)O(n^2 \log n)。显然超时。

设两个序列 c1,c2c1, c2c1ic1_i 表示前 ii 张牌不使用权力,即大牌获胜时最多赢的轮数,c2ic2_i 表示从第 ii 张牌到第 nn 张牌使用权力,即小牌获胜最多赢的轮数。特殊地,c10=0c1_0 = 0c2n+1=0c2_{n+1} = 0

可得答案为 maxi=0nc1i+c2i+1\max_{i=0}^n c1_i + c2_{i+1},时间复杂度 O(nlogn)O(n \log n),足以通过。

posted @   HappyBobb  阅读(7)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示