动态规划解决.背包问题
状态:
dp[i][j][k] 代表在考虑前 i 个物资时花费 j 信用点且已经用掉了 k 张补给券时能买到的最多的物资种类数.
这里用 a[i] 代表第 i 个物资的原价,b[i] 代表使用补给券后的折扣价
你是一名星际探险家,正准备为下一次长途航行采购补给物资。空间站中有 N 种物资,每种物资都提供两种购买方式:按原价直接购买,或者使用补给券以折扣价购买。你手头持有 C 个信用点和 D 张补给券。你希望购买尽可能多种类的物资,同时,在保证购买种类数最多的前提下,尽可能少地花费信用点。
你需要计算出最多能够购买的物资种类数,以及达到该数量所需的最少信用点花费。
数据范围:1≤N≤100,1≤C≤5000,1≤D≤50,每种物资的原价 ai 和折扣价 bi 均为 1 到 50 之间的整数。
第一行包含三个整数 N、C 和 D(1≤N≤100,1≤C≤5000,1≤D≤50),分别表示物资的种类数、你持有的信用点数量以及可以使用的补给券数量。 接下来 N 行,每行包含两个整数 ai 和 bi(1≤ai,bi≤50),分别表示第 i 种物资的原价和消耗一张补给券后的折扣价。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册