
基础DP
文章平均质量分 55
Mollnn
这个作者很懒,什么都没留下…
展开
-
【挫纪】多重背包问题的优化细节
众所周知多重背包问题的一个重要优化:二进制分解。 然而在二进制分解时,有细节需要注意。一、分解顺序问题 有时候脑子抽筋,会突然用位运算移位来直接获取分解结果。这种方法是不可取的,例如5=101,按照移位分解的方法就会分解为4+1,而事实上我们要分解成1+2+2二、分解后的冗余运算 分解之后会留下剩余的部分,对于剩余的部分,必须要一次性清除,万不可一次次处理,这样时间复杂度会很高。三、边分解边运原创 2016-09-16 16:07:50 · 466 阅读 · 0 评论 -
0-1背包的维度拓展
引言 0-1背包是经典的动态规划背包问题之一,也是多数背包问题的基础。0-1背包标准版本(完全表达)需要两个维度,一个表示物品i,一个表示代价j。优化后,可省去物品维度。那么,如果有两种代价又该如何呢?于是,我们将0-1背包拓展一个维度来进行讨论。核心讲解 取材于现实生活中,你要寄快递,快递对体积和重量均有限制。再比如,常见的军火运输问题,等等。从背包问题的原理来看,我们只需开两个代价维度就可以原创 2016-09-17 15:30:42 · 500 阅读 · 0 评论 -
动态规划基础题:机器分配
题目描述总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。输入输出格式输入格式: 第一行有两个数,第一个数是分公司数N,第二个数是设备台数M。接下来是一个N*M的矩阵,表明了第 I个公司分配 J台原创 2016-10-03 08:48:43 · 1898 阅读 · 0 评论 -
动态规划基础题:低价购买(最长下降子序列)
题目描述“低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(2^16范围内的正整数),你可以选择在哪些天购买这支股票。每次购买都必须遵循“低价原创 2016-10-03 09:48:10 · 626 阅读 · 0 评论