动态规划
Mudrobot
这个作者很懒,什么都没留下…
展开
-
记忆化搜索
题目:任意输入一个数n(0题目分析:这个题我们可以用记忆化搜索的方法A掉,下面引用百度的一点东西,让我们大概了解一下这是什么东西: * _记忆化搜索_ (Memory search)心理学是指搜索信息的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。* 说简单一点就是,我们可以记录一下我们以前搜索过的信息,这样以后就不用重复的递归,来找取答案了,相信大家都应该已经懂了...原创 2018-02-27 23:17:46 · 291 阅读 · 0 评论 -
有依赖的背包问题
这里有一道非常典型的题目: 链接戳这里☞:P1064金明的预算方案 下面是源代码:#include<cstdio>#include<cstring>#include<vector>#include<iostream>using namespace std;struct sd{ int weight,value; ...原创 2018-02-27 23:29:44 · 1760 阅读 · 0 评论 -
分组背包(YBT 1272)
终于从数据结构的魔圈中走出来啦!!!,今天我终于要写一篇关于 动态规划的题目啦,哈哈哈! 没看过题目的请戳这里☞ 分组背包 先不说什么,直接上代码(代码中有变量解释):#include<cstdio>#include<cstring>#include<vector>using namespace std;struct sd{//结构体 ...原创 2018-02-27 23:30:30 · 324 阅读 · 0 评论 -
【解题报告】关路灯
这道题我并没有完全理解他那个蛋疼的循环是什么意思,这里只有粘一篇写的特别棒的题解了:下面内容为转载内容:这是一道区间型的动态规划题;我主要是对前方的一些dp题解补充一些小细节。既然是动规,那么首先讲一下常用的填表法和刷表法:填表法就是利用状态转移方程和上一个状态来推导出现在的状态(相当于知道已知条件,将答案填入)刷表法就是利用当前的状态,把有关联的下一状态都推出来。...原创 2018-02-27 23:34:23 · 746 阅读 · 2 评论 -
【解题报告】01背包
这应该是最基础的背包问题了,但正因为他的基础,他的思想会被用在很多DP题中,所以这里有必要对他剖析一下。我们应该掌握的方法有两种1、二维数组。2、滚动数组。后面那个一看就要高级一些,但是确实对动归没有太大的帮助,所以大家一定要把第一种方法学好!第二种方法我不做解释,只会黏贴代码,大家认真脑补一下应该也是可以理解的。题目链接: 01背包问题二维数组法:这里定义背包叫...原创 2018-02-27 23:35:14 · 169 阅读 · 0 评论 -
【解题报告】P1282 多米诺骨牌
这是一道非常经典的动态规划题目······我们首先来对它来进行分析,我们首先发现他应该是用一个二维背包来解决的问题。二维背包第一个维度存储多米诺骨牌序号i,第二维度存储前i个多米诺骨牌第一行的权值,最后每个变量的值表示的是要操作的次数。于是动归方程式如下: if(j-x1[i]>=0) bag[i][j]=min(bag[i-1][j-x1[i]],bag[i]...原创 2018-02-27 23:36:10 · 385 阅读 · 0 评论 -
【解题报告】 垃圾陷阱
这道题是一道非常典型的DP,下面我们就来对这道题进行一些讲解!题目链接: P1156 垃圾陷阱作为一道“提高+/省选-”的题目,相信这道题还是很有价值的,本题的价值就在“时间”这个限制变量上,这个变量要是没有看出来,那么这道题想要AC确实就有一点困难了!!!解题方法:本题鄙人用的是滚动数组的办法,很偷懒,有一点耍小聪明的感觉,但是这种方法却也是最好的!如果你还没有看通“...原创 2018-02-27 23:38:20 · 283 阅读 · 0 评论