树上背包,说实话写起来很难受。看到别人写的代码时间都那么短,实在是自愧不如。#include
#include using namespace std;#define MAXV (3000)#define MAXE (MAXV - 1)int
Vefw[MAXE], Ve...
分类:
其他好文 时间:
2014-05-12 09:02:54
阅读次数:
178
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1109
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean...
分类:
其他好文 时间:
2014-05-11 20:57:36
阅读次数:
400
这个问题是01背包,而对于编程之美那道是完全背包问题,在编程之美中也有一个0,1背包问题。
而且是容量是小于等于,不是等于,对于是否等于,在初始化参数时候不一样,不小于全部初始化为0,恰好等于,初始化为无穷大,除了0.问什么呢?看算法入门竞赛那本,
背包问题其实不是很好理解,但是代码最终形式很简单,...
分类:
其他好文 时间:
2014-05-11 06:48:30
阅读次数:
246
题意:求在两边人数不相差超过1个的情况下,实力尽量相等的情况
思路:从实力和的一半开始类背包操作
#include
#include
#include
#include
using namespace std;
const int MAXN = 45010;
const int MAXM = 110;
int a[MAXM];
int dp[MAXN][MAXM];
int n;
...
分类:
其他好文 时间:
2014-05-11 05:02:03
阅读次数:
279
这题多加了菜品必选编号,所以刚开始不知道怎么写,原来就把必选的处理下就行了,因为有重复,但是相同的价值与价格都一样,所以这里就直接挑出来就行了。
把不是必选的在里面用dp即可,dp之前也要把重复的舍去。
因为总价格容量为浮点数,所以先乘以10变成整数就可以用01背包了。
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-05-11 03:48:50
阅读次数:
382
接着上一篇读书笔记:先简单介绍了栈、队列和背包,然后涉及算法分析和书中的研究算法的方法。
分类:
其他好文 时间:
2014-05-10 07:52:56
阅读次数:
285
ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗?...
分类:
其他好文 时间:
2014-05-10 04:47:27
阅读次数:
286
http://acm.hdu.edu.cn/showproblem.php?pid=2955题目是说一小偷偷东西,第i个物品的价值是M[i],被抓的概率是p[i],现在要使得在被抓的概率在P以下时的所能偷得的最大价值。不同于以往的01背包,这里需要将价值作为物品的大小。同时如果偷A被抓的概率是Pa,...
分类:
其他好文 时间:
2014-05-10 03:09:29
阅读次数:
284
一、回溯法
回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中按照深度优先的策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一节点时,总是先判断该节点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该节点为根的子树的系统搜索,逐层向其原先节点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。
运用回溯法解题通常包含以下三个步骤:
· 针对所给问题...
分类:
其他好文 时间:
2014-05-09 22:06:39
阅读次数:
409
The more, The Better
Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4949 Accepted Submission(s): 2918
Problem Description
ACboy...
分类:
其他好文 时间:
2014-05-09 20:49:51
阅读次数:
307