摘要: 【USACO3.1.6】邮票Description   已知一个 N 枚邮票的面值集合(如,{1 分,3 分})和一个上限 K —— 表示信封上能够贴 K 张邮票。计算从 1 到 M 的最大连续可贴出的邮资。   例如,假设有 1 分和 3 分的邮票;你最多可以贴 5 张邮票。很容易贴出 1 到 5 分的邮资(用 1 分邮票贴就行了),接下来的邮资也不难:        6... 阅读全文
posted @ 2010-07-23 17:32 Danty 阅读(614) 评论(0) 推荐(1) 编辑
摘要: 砝码称重Description 设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000)。Input 输入方式:a1 a2 a3 a4 a5 a6 (表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个) Output 输出方式:Total=N (N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况) Sample Input S... 阅读全文
posted @ 2010-07-23 17:21 Danty 阅读(648) 评论(0) 推荐(1) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2844CoinsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 825Accepted Submission(s): 336Problem Description... 阅读全文
posted @ 2010-07-23 17:16 Danty 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 集合Description 对于从1到N的连续整集合,能划分成两个子集合,且保证每个集合的数字和是相等的。例如:如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的:{3} and {1,2} ,且这是唯一一种分发(交换集合位置被认为是同一种划分方案,因此不会增加划分方案总数)。 又例如:如果N=7,集合{1,2,3,4,5,6,7}有如下四种划分方法: (1)、{1,6... 阅读全文
posted @ 2010-07-23 17:08 Danty 阅读(438) 评论(0) 推荐(1) 编辑
摘要: 代码 程序思想:f[i][j]代表用j的价钱买前i个品牌可以得到的最大价值数。 赋初值:见18到22行状态转移:f[i][j]可以经过三种状态得到———— f[i][j],f[i-1][j-p[br[i][i1]]]+v[br[i][i1]],f[i][j-p[br[i][i1]]]+v[br[i][i1]] br[i][i1]代表第i种品牌的第i1... 阅读全文
posted @ 2010-07-23 17:04 Danty 阅读(462) 评论(0) 推荐(1) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1864深搜算法代码在空间上更加优化,运用滚动数组:代码原始状态转移方程:max[j][i]=max{max[j-1][i],max[j-1][j-sum[i]]+sum[i]}由于注意到了max[j]只与max[j-1]有关,所以直接将max[31][3000000]数组改为max[2][3000000],则状态... 阅读全文
posted @ 2010-07-23 16:46 Danty 阅读(1194) 评论(0) 推荐(2) 编辑
摘要: 【2006提高】金明的预算方案Description   金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:   主件... 阅读全文
posted @ 2010-07-23 16:32 Danty 阅读(379) 评论(0) 推荐(1) 编辑
摘要: 总分Description 学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助。我们可以从几个种类中选取竞赛的题目,这里的一个“种类”是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来告诉USACO的职员,应该从每一个种类中选取多少题目,使得解决题目的总耗时在竞赛... 阅读全文
posted @ 2010-07-23 16:26 Danty 阅读(288) 评论(0) 推荐(1) 编辑
摘要: poj-2479http://acm.pku.edu.cn/JudgeOnline/problem?id=2479代码s1[]表示从1到i的最大子序列和中的最大值,s2[i]表示从n到i的最大子序列和中的最大值。最初时s1[i ]表示从1开到i的最大子序列和,s2[ ]表示从n开始向前到i的最大子序列和。然后再用max对两数组进行了处理。最终所要的答案是s1[i]+s2[i+1]中最大的一个。此题... 阅读全文
posted @ 2010-07-23 16:04 Danty 阅读(377) 评论(0) 推荐(0) 编辑