POJ 1742 :Coins (思维,多重背包转移优化)
题目大意:有 n 种硬币,每种硬币有一定的数量a[i]和面值c[i],问你 1 ~ m内的所有面值,哪些面值可以由这些硬币组成。
显然是多重背包问题,多重背包指的是每种物品具有有限个数量的背包问题。可以将每种物品拆成一个变成0 1背包问题,但这题数据太大这种拆解方法无法通过。更加优秀的方法是以 2进制形式拆解每一种物品,然后变成0 1背包,复杂度为 n∗m∗log(a[i])n * m * log...
原创
2019-07-19 19:39:16 ·
341 阅读 ·
0 评论