#P1078. [2025 实验室三面] 动态规划高手!
[2025 实验室三面] 动态规划高手!
题目背景
动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。
动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。
动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分,再根据子问题的解以得出原问题的解。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。
在一个名为“动态规划”的魔法世界里,CMY是一名符文法师。他正在准备一场重要的施法仪式,需要为一个“魔力背包”充能。这个背包的总“能量容积”为 。能量来源只有一种“基础能量晶体”。这种“基础晶体”(1级晶体)会占用 的容积,并能提供 点魔力。 幸运的是,CMY发现了一个古老的“晶体聚合祭坛”。这个祭坛允许她将“基础晶体”聚合成更高级的晶体:
-
2级晶体:由 2 个“1级晶体”聚合而成。它会占用 的容积,并提供 的魔力。
-
3级晶体:由 3 个“1级晶体”聚合而成。它会占用 的容积,并提供 的魔力。
-
k级晶体:由 个“1级晶体”聚合而成。它会占用 的容积,并提供 的魔力。
题目描述
现在,CMY可以自由地选择制造和放入任意数量、任意等级的晶体,只要它们占用的总容积不超过 。但是因为CMY比较懒,所以CMY想让你们告诉他知道,他能通过组合这些不同等级的晶体,装入背包的最大总魔力是多少?
输入格式
一行三个正整数,,用空格隔开。
输出格式
一个整数,代表CMY能装的物品总收益最大值。
样例数据
5 2 3
6
样例解释
最多能装 个物品,总收益为 。
相关
在下列比赛中: