摘要: 题目的意思:有一堆大理石,按其大小分为1-6种价值,两个人想分得的价值相同的大理石,已知每种价值的大理石个数,问是否能让两个人分得价值相同的大理石?题目输入:101200100011000000题目输出:Collection#1:Can'tbedivided.Collection#2:Canbedivided.解题思路:很明显这是一个多重背包问题,可以将问题转化为0/1背包问题解决。将每种价值v的大理石数x,按二进制分解成价值为1*v,2*v,4*v…,2^k-1*v,(x-2^k+1)*v的大理石,其它价值的大理石也这样分解,这样就转化成为0/1背包问题了(由于1,2,4…,2^k- 阅读全文
posted @ 2013-03-13 20:50 在于思考 阅读(247) 评论(0) 推荐(0) 编辑