CSP-J 入门级 · CSP 2019 入门级第一轮 第 11 题

选择题 · 答案 C · 考点:贪心算法、简单动态规划

← 整套速查表 CSP-J 入门级 全部真题

题目

新学期开学了,小胖想减肥,健身教练给小胖制定了两个训练方案。

小胖每周周一到周四能抽出半小时跑步,周五到周日能抽出一小时跑步。 另外,教练建议小胖每周最多跑21公里,否则会损伤膝盖。 请问如果小胖想严格执行教练的训练方案,并且不想损伤膝盖,每周最多通过跑步消耗多少千卡?()

答案:C

考点

贪心算法 讲解 →贪心算法 真题汇总 →简单动态规划

解题思维

这题本质是贪心:先算出两种方案每公里的燃脂效率,发现方案二更优,于是优先把周末的三次机会全用掉,剩下的距离再塞方案一,同时别忘了一周最多21公里的硬约束。

常见错误

学生最容易掉进两个坑:一是看到周一到周四只能跑方案一,就机械地想‘每天必须跑’,结果凑出4次方案一+3次方案二=3000千卡,完全忽略了21公里的上限;二是被题目里的C(n,m)符号误导,以为是在考组合数,其实C只是选项标记。正确做法是先把距离限制作为第一优先级,再在剩余空间里贪心填高能效的方案。

详细解析(节选)

考察知识点:贪心策略 + 线性约束下的整数规划(入门级常考这种小模型)

概念定义:

命题视角:命题人故意把两个方案的能效设计成整数倍(方案二每公里120kCal,方案一每公里100kCal),诱导学生直接贪心;同时用"C(n,m)"这种数学符号混在选项里,制造视觉干扰,测试学生是否会被符号吓住。真正的坑在于"周一到周四只能跑方案一"和"周五到周日只能跑方案二"的时间分配,以及"最多21km"的总距离限制。学生如果只盯着时间分配,很容易算出4次方案一+3次方案二=3000kCal,却忘了距离超标。

思考心法:拿到题先算效率,再排优先级,最后填坑。 1. 算效率:方案二每公里600/5=120kCal,方案一每公里300/3=100kCal。显然方案二更划算。 2. 优先用方案二:一周只有周五到周日3天能跑方案二,所以y=3是上限。 3. 检查距离:3次方案二已用15km,剩余21-15=6km。 4. 填方案一:6km可以跑2次方案一(2×3=6km),且周一到周四有4次机会,2次完全够用。 5. 计算总消耗:2×300 + 3×600 = 600 + 1800 = 2400kCal。

具体计算: 设x为方案一次数,y为方案二次数。 约束:

目标:max(300x + 600y)

从y=3开始试:3x + 15 ≤ 21 → x ≤ 2,此时消耗=300×2+600×3=2400。 再试y=2:3x + 10 ≤ 21 → x ≤ 3,但x≤4,消耗=300×3+600×2=2100,比2400小。 y=1或0时消耗更小。 因此最优解是x=2, y=3,共2400kCal,对应选项C。

避坑:

考频与趋势: 简单动态规划在题库中已考过94题,覆盖8个级别,2023-2026年考频激增(2023年15题、2024年23题、2025年25题、2026年13题),说明这类"小模型"是入门级高频考点。贪心算法也考了71题,近年同样呈上升趋势(2024年16题、2025年12题、2026年24题)。两类考点常在同一题中交织,命题人喜欢用"效率对比+硬约束"来测试学生是否真的理解了贪心的本质。

预测: 基于近年考频,未来入门级题目仍会大量出现此类"小模型",但难度可能略有提升,例如增加更多约束(如不同时间段效率不同、或引入体力值衰减等),或者把距离限制改成更复杂的函数形式。不过,"先算效率、再排优先级、最后填坑"的核心思路不会变。暂无足够依据预测具体题型变化,但可期待更多结合现实场景(如减肥、旅行预算)的贪心/动态规划小模型题。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断