![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
文章平均质量分 51
soul11201
这个作者很懒,什么都没留下…
展开
-
hdu 3496
二位背包。我发现自己太帅了,在 if(dp[M][L] == -1)这一行我居然能写成 if(dp[M][L] != -1) 还一直在琢磨为什么结果是零。 #include #include int main(int argc, char *argv[]) { int test_case,N,M,L; int dvdTimeLen[110],dv原创 2013-02-22 22:47:14 · 573 阅读 · 0 评论 -
hdu 2191
多重背包,先前一直不过,想回去睡觉。刚修改了一下用移位运算进行二进制模拟,没想到就过了。 #include #include void OneZero(int V,int cost,int value,int *dp){ for(int j = V;j>=cost;--j){ if(dp[j] < dp[j - cost] + value){ dp[j] = dp[j原创 2013-02-22 23:48:09 · 1037 阅读 · 3 评论 -
hdu 2602 bit 1013
01背包,具体不说,背包九讲写的真好。因为V_all这个数组一不小心在mian函数里面也定义了一个,结果导致本地测试时结果一直为零。 #include #include int V_all[1100]; void oneZero(int N,int V,int *V_each,int *value_each){ for(int i = 0;i<N;++i){ for(int j原创 2013-02-22 16:50:22 · 413 阅读 · 0 评论 -
hdu 1171 bit 1014
多重背包 :01+二进制优化。 一开始 MultyPack函数for循环内因为没加 j = 0,结果一直Wa,最后多谢果神帮助。 #include #include #include int V_all[350000]; //dp的结果 int V; //背包的体积 //将一个体积为cost,价值为value的物品放入背包。 void ZeroOne(in原创 2013-02-22 19:22:34 · 447 阅读 · 0 评论 -
hdu 1712 分组背包
#include #include int dp_res[200]; void dp_group(int N,int M,int effec[][105]){ for(int i = 0;i < N;++i){ for(int j = M;j >= 1;--j){ for(int k = 1;k<=j;++k){ if(dp_res[j] < dp_res原创 2013-02-22 20:48:24 · 419 阅读 · 0 评论 -
hdu 2955 Robberies
参考blog: http://blog.csdn.net/hellobabygogo3/article/details/7915083 加上一点自己的感悟吧,开始这里楼判了等于0,因为他有可能没去偷钱,所以为零。 因为去偷每一家银行的钱事件是独立的,所以有P(AB)= P(A)P(B); 所以dp初始化为0。 for(int i = sum;i>=0;--i)原创 2013-06-30 16:32:40 · 760 阅读 · 0 评论