灵感来自:http://poj.org/problem?id=1042 已知背包容量固定且为单位体积的N倍。 物品种类固定为M 每种物品都没有数量上限 每件物品的体积都是单位体积 每件物品的价值与背包中该类物品的数量有关,物品的价值与背包内该物品的数量成一次函数关系 第i 种物品的初始价值为fi,背 ...
分类:
其他好文 时间:
2017-09-24 13:42:08
阅读次数:
140
burnside引理: 大致意思是,等价类的个数=(∑每个置换中等价的方案数)/置换数。 至于证明在下这么愚蠢的人肯定不知道啊。 有了引理就只需求出每个置换中等价的方案。 先暴力跑一遍找到当前置换中的tot个循环,等价方案就是每个循环内颜色都相同。 相当于把tot个物品装到三个箱子中,问每个箱子刚好 ...
分类:
其他好文 时间:
2017-09-23 12:23:42
阅读次数:
126
题目:给出一个数组,将其分为两份,使得这两份差值最小。 解答: 比如a={4,3,2,1},其实只要让其逼近sum(a)/2即可,所以可以等效于一个背包容量为5,从a中取出若干件物品,将其装满,但是这样会出现问题,就是4+1,3+1都符合条件,(如果我们假设他们价值为1的话,受网上误导很大),事实上 ...
分类:
其他好文 时间:
2017-09-22 13:01:59
阅读次数:
121
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5543 题意:给你一块长为L的木板,和n个金条,每个金条有一个长度和价值 只要金条的重心在木板上就可以放上去,但不能重叠,问最多能拿多大价值 很容易想到背包问题,但是题目给出了一定限制 因为最多有2根金条是半 ...
分类:
其他好文 时间:
2017-09-20 14:22:57
阅读次数:
145
1085 背包问题(0-1背包模板题)(51NOD基础题) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最 ...
分类:
其他好文 时间:
2017-09-20 00:38:52
阅读次数:
249
题目链接 突发奇想可以用f[i]表示智商和为i的时候情商最大是多少。这样就变成了一个背包问题。 最后更新答案的时候从0到最大背包容量遍历,最后答案是最大的i+f[i]; 但是虽然答案只能从0到m里选,转移过程中是不能丢掉负数体积的。这是因为人家题目只说了要最后的智商和不能小于零,情商和不能小于零,没 ...
分类:
其他好文 时间:
2017-09-19 23:13:31
阅读次数:
368
贪心算法与其弊端 贪心算法又称贪婪算法,见文思意,贪心贪心,无非就是想办法寻找最好的方法,对应到算法上即将一个问题分解成若干个小问题,每步选取当前最优解,贪心算法的弊端在于它并非对所有的问题都有效,当问题不具有最佳子结构或是贪心策略有后效性时,得出的结果可能就并不正确。相应的问题有背包问题,由此也可 ...
分类:
其他好文 时间:
2017-09-14 23:50:36
阅读次数:
213
今天做了一道背包问题的变种问题,这个问题还是用动态规划来做,但是做法上跟原来的背包问题有很大的区别。 题意: 样例: 1.最简单的方法--深搜(超时) 看到这种问题,特别是要求我们将所有的情况计算出来,我们首先想到的是就是深搜。这个题用深搜做时非常的简单,但是不可避免的就是超时。 代码: 2.动态规 ...
分类:
编程语言 时间:
2017-09-11 13:41:41
阅读次数:
174
这里: for(int j = 1;j <= m;j++) result[0][j] = 0x80000000; 不能从0开始,result[0][0]是可以取到的,是0。其他情况取不到才用最小表示。 ...
分类:
其他好文 时间:
2017-09-10 20:45:59
阅读次数:
113
注意j-A[i-1]必须大于等于0,只大于0会报错 ...
分类:
其他好文 时间:
2017-09-10 19:49:24
阅读次数:
224