随笔分类 - ACM-动态规划-背包
摘要:题意: 一个游戏,敌人有L的血量,己方可以生产n种武器,每种武器的生产需要花费ti秒,这种武器产生之后的每一秒都可以对敌人的血量造成vi的伤害,并且每种武器的生产数量是没有限制的。 每一秒要么什么都不做,要么用来生产一种武器。 当敌人的血量为0时,己方获胜。 问最少需要多少时间使得己方获胜。 思路:
阅读全文
摘要:题意: 已知若干种硬币的面值和重量,以及一堆硬币的总重量。 求出可以凑出这堆硬币的最小钱数或者说明不可能。 思路: 完全背包。 定义dp[i][j]表示凑到第i枚硬币,重量为j时可以凑出的最小钱数。 当dp[j+w[i]] == -1时,表示这个状态还没有到过,那么当dp[j] != -1时,才能够
阅读全文
摘要:题意: 一个银行有若干不同面值的货币,每个面值有不同的数量,求银行可以凑出最大的小于等于给定金额的钱的数值。 思路: 组合背包裸题,把数量以二进制拆分,就可以凑出从1到k的所有数,时间复杂度降到log(k)。之后再用0,1背包解决。 代码:
阅读全文

浙公网安备 33010602011771号