Related
In following contests:
对于每种水晶,激活需要消耗法力,同时需要购买祭品、卖出水晶,净收益为售价减去祭品价格。同一种水晶可以重复激活。这是一个完全背包问题。总法力上限 m 就是背包容量,单块水晶消耗的法力 ci 就是物品体积,净收益 si−pi 就是物品的价值。
推荐理由:由浅入深,从dfs -> 记忆化搜索 -> 动态规划 的思路来讲解dp。也是公认的比较符合人类思维的理解dp的过程。
探险家小蓝在远古遗迹中发现了一座密室,密室内有 n 种蕴含魔力的能量水晶。小蓝携带的魔法石拥有总量为 m 的法力。激活一块水晶需要消耗固定的法力,并需要购买特制祭品作为媒介;激活后的水晶可以立刻卖给古物商人换取金币。由于祭品可以随时购买且初始资金充足,小蓝唯一受限的是魔法石的总法力。
对于第 i 种水晶,激活一次需要消耗 ci 点法力,购买祭品需花费 pi 枚金币,卖出水晶可获得 si 枚金币。每次激活必须一次性完成,无法中断。同一种水晶可以重复激活,只要剩余法力足够。每激活一块水晶的净收益为 si−pi。小蓝想通过若干次激活,在总法力消耗不超过 m 的前提下,使总净收益最大化。
请你计算出小蓝最多能赚取的金币数量。
约束条件:
In following contests:
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册