HDU1864_最大报销额 针对规定的条件,对输入的数据进行一番处理之后,可以得到一个价值数组,代表每一张可以报销的发票能报销的额度 但是这里首选的背包容量看似的报销额度,但是是浮点数,经常有这种的背包问题,这里就要变换一下背包的容量,可以变成发票的张数,看看报销多少张发表的时候的最大报销额可以满足 ...
分类:
其他好文 时间:
2018-07-20 11:24:10
阅读次数:
207
贪心,顾名思义,就是在把一个大问题分割成无数个相类似的子结构之后,对于每一个子结构,只在乎当前,贪心考虑最优选择,无需考虑整体最优。用专业一点的术语来说,就是无后效性。 具体来说,面对一个大问题,截取当前的一小部分,在这个小部分中选择最优最好的结果。然后以一种迭代,也就是递推的方式选取相似的下一小部 ...
分类:
编程语言 时间:
2018-07-16 14:13:54
阅读次数:
210
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1009 FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
分类:
其他好文 时间:
2018-07-15 11:09:35
阅读次数:
156
题目大意:输入n,代表有n种数,接下来n个数代表n种数,再接下来n个数代表每种数有多少个,在输入K,代表用这些数要加成的和 问你是否能加为K,能输出yes,不能输出no 这是一个典型的多重背包问题,可以用dp来求解,。但是如何定义递推关系会影响到最终的复杂度,首先我们先看一下如下定义: dp[i+1 ...
分类:
其他好文 时间:
2018-07-15 11:04:14
阅读次数:
159
有N件物品和一个容量为C的背包,第i件物品的费用是c[i],价值是w[i],求将若干件物品放入背包所能够获得的最大价值。 每种物品只有一件,可以选择放或者是不放 使用f(i,v)表示前i件物品恰好放入一个容量为v的背包所能获得的最大价值 状态转移方程: 时间复杂度为O(N*V),空间复杂度可以优化为 ...
分类:
其他好文 时间:
2018-07-14 10:20:37
阅读次数:
151
P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示 ...
分类:
其他好文 时间:
2018-07-11 12:42:49
阅读次数:
147
【问题描述】小z准备举办一个比赛。他需要提供一些甜点给参赛者来补充能量。每种甜品有一定的能量ti和大小ui,且每种甜点最多有vi个。小z准备用箱子来包装甜点。箱子可以容纳一定体积的甜点且需要一定的费用。小z有一种魔法,可以将一个甜点分成多份装在箱子里,最后再合在一起(但合成之后必须是完整的一个)。小 ...
分类:
其他好文 时间:
2018-07-11 12:34:37
阅读次数:
323
这个问题比部分背包问题还简单,先拿轻的再拿重的可以保证最后物品装的最多。代码如下: ...
分类:
其他好文 时间:
2018-07-06 13:15:45
阅读次数:
154
每个物品都可以拿走一部分,要在不超重的情况下总价值最高,这应该是最简单的一类贪心问题了,思路很明显,考虑性价比即可,安装性价比排序,从高到低开始拿,除了最后一个物品之外,要么不拿,要么拿走全部,具体实现如下。请注意结果的细节,对最后一个物品的处理。 ...
分类:
其他好文 时间:
2018-07-06 13:12:23
阅读次数:
133
贪心算法。 1、先放入价值最大的。这个肯定不行 2、放入平均价值最大的,也不行 二维数组作为记忆化搜索 ...
分类:
其他好文 时间:
2018-07-04 21:34:55
阅读次数:
201