1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol video solution AI分析

思路

  • 将卡片分成两类:b≥1b \ge 1b≥1 与 b=0b = 0b=0。

  • 先把所有 b≥1b \ge 1b≥1 的卡全部抽掉。理由:这类卡不会减少当前可抽次数(b=1b=1b=1 不变,b>1b>1b>1 增加),越早抽越能“解锁”更多后续机会。抽完这些卡后的剩余可抽次数:

    t=1+∑bi≥1(bi−1)t = 1 + \sum_{b_i \ge 1}(b_i - 1) t=1+bi​≥1∑​(bi​−1)
  • 然后在 b=0b=0b=0 的卡中,按 aaa 从大到小选取前 min⁡(t,m)\min(t, m)min(t,m) 张(mmm 为 b=0b=0b=0 的张数)。

P3469.第2题-抽卡

    1000ms Tried: 46 Accepted: 29 Difficulty: 3 所属公司 : 得物
    算法与标签>贪心算法

题目内容

抽卡是一个类似于博弈的游戏。现在有一种抽卡方式,描述如下:初始你只有一次抽卡机会。每次抽卡浪费一次抽卡机会,获得一张卡片。有两个数字,第一个数字代表你哪获得的钱,第二个数字代表你能获得的额外抽卡次数。额外的抽卡次数是可以累计的。现在,你知道了卡所有的卡片上的数字,以及所有卡片的顺序。你只需要安排一种抽卡顺序,使得你能获得钱数最多。 0≤ai,bi≤1000,1≤n≤10000≤a_i,b_i≤1000,1≤n≤10000≤ai​,bi​≤1000,1≤n≤1000

输入描述

第一个行一个数 nnn ,代表卡片的数量。 接下来 nnn 行,每行用两个数 ai,bia_i,b_iai​,bi​ ,描述一张卡片。 aia_iai​ 表示抽这张卡能获得的钱数,bib_ibi​ 表示抽这张卡能获得抽卡次数。

输出描述

一行一个数,代表你能获得的最多钱数。

样例1

输入

5
0 2
1 1
1 0
1 0
2 0

输出

4

说明

样例解释:按顺序抽第张卡

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 212ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?