今天是做大量练习的第一场,自己挂了一套上个暑假学校老队员做个的一场比赛problem A就是在一堆数据中选出一些数据,使得它们的和是奇数,求能选到的最大和事多少,一开始头晕了,不知道怎么做,改看B题,B题是道水题,一会儿再说。做完B题后回过头来看看A,感觉没一个选或不选,于是想到了0/1背包,先把所...
分类:
其他好文 时间:
2014-07-14 08:33:57
阅读次数:
256
苹果
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。
输入有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行2个...
分类:
移动开发 时间:
2014-07-13 17:02:08
阅读次数:
234
多重背包问题。
题意是给你一个数目的钱,还有一些 不同数量 也不同面额的钞票。问最接近给定 的数目,不能大于。
老样子,转换为 01 背包 和完全背包做。
不过很神奇的是,给多重背包 用二进制思想转换的时候 用 k
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-07-13 16:22:52
阅读次数:
133
多重背包的可行性问题。
题意是说 一块表的价格不超过M。你有一些不同数量,也不同面额的硬币。在1-M中你能组成多少种可能。
傻逼的理解成组成不超过M的最大价值。ORZ。。。认真读题……
时间复杂度 O(M*N)
#include
#include
#include
using namespace std;
int dp[2][100005];
int n,m;
...
分类:
其他好文 时间:
2014-07-13 16:19:39
阅读次数:
172
标签:01背包hdu2955http://acm.hdu.edu.cn/showproblem.php?pid=2955题意:盗贼抢银行,给出n个银行,每个银行有一定的资金和抢劫后被抓的概率,在给定一个概率P,表示盗贼愿意冒险抢劫所能承受的最大被抓概率。思路:首先用1减去被抓概率,得到安全概率。那抢...
分类:
其他好文 时间:
2014-07-13 12:51:54
阅读次数:
177
多重背包问题。
我的背包训练第三题,多重背包。似乎有点理解多重背包了。
我对背包九讲多重背包的理解:
当某件物品 体积*数量 超过背包的容积的时候,这就做完全背包(相当于无限取)
void completepack(int h,int cost,int a)
{
for(int i=cost;i<=a;i++)
dp[i]=max(d...
分类:
其他好文 时间:
2014-07-13 00:09:57
阅读次数:
192
多重背包的可行性问题。
题意是说有 1~6 种石头,分别价值1~6 。然后有不同的数量,问你能不能平均分给两个人。
这时候可以把价值当作费用,求能不能到达 总价值的一半。即讲背包的容量设为 总价值的一半,能否装满。
据说有个很强大的“剪树” 1~6的最小公倍数是60 。
个数超过60……if(n&1)n=61; else n=60;
ORZ……没想到,也没用这个。...
分类:
其他好文 时间:
2014-07-12 21:39:06
阅读次数:
257
01背包问题。
题意是说 你要去偷银行,超过某个概率你就会被抓,然后有N个银行。
每个银行有一定数量的钱,也有会被抓的概率。
算出不会被抓又能偷到的最多的钱。
不过很阴险一道题,说得是被抓的概率。
你需要算逃跑的概率 然后 (1 - 逃跑的概率)= 被抓的概率。
这道题不能用概率去算钱。要用钱来算概率。
#include
#include
...
分类:
其他好文 时间:
2014-07-12 19:29:43
阅读次数:
198
大概了解了背包九讲前面四章的内容。先 ORZ DD大神一分钟……59,58,57……
……3,2,1。好,结束,总结一下三种背包问题,01,完全,多重。都隶属于动态规划问题。
下面这是个人四天来的学习体会。
区别方式也很简单:
①物品数量只有一个,只存在放和不放的区别,01背包。
②物品数量有无限多个,或者能完全把背包装满,完全背包。
③物品数量有限而且不能...
分类:
其他好文 时间:
2014-07-12 17:05:33
阅读次数:
301
一个很有意思的 BFS+DFS。附 数据。
本来今天的任务是多重背包,结果为了帮别人找WA点,自己也坑在这道题上了。
最好想了一组自己都没过的数据……果断换思路了。
以箱子为起点做BFS找最短。每次DFS判断人能不能移动到箱子的后面。
开始就我写一个BFS,什么数据都过了。这组过不了
1
7 4
0 0 0 0
0 0 1 0
0 2 0 3
1...
分类:
其他好文 时间:
2014-07-12 16:57:02
阅读次数:
214