- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 动态规划之树形DP专题(附题目清单)
之所以这样命名树规,是因为树形DP的这一特殊性: 没有环,dfs是不会重复,而且具有明显而又严格的层数关系。 利用这一特性,我们可以很清晰地根据题目写出一个在树(型结构)上的记忆化搜索的程序。而深搜的特点,就是“不撞南墙不回头”。这一点在之后的文章中会详细的介绍。动态规划: 问题可以分解成若干相互联系的阶段,在每一个阶段都要做出决策,全部过程的决策是一个决策序列。要使整个活动的总体效果...
2017-12-14 10:04:31 6349 1
原创 动态规划之背包DP专题
动态规划之背包DP专题背包九讲链接背包问题模板int v,j; //v:总容量 int dp[Maxv]; //c:体积 w:价值 n:数量 void zobag(int c,int w)//01背包 { for(j=v;j>=c;j--) dp[j]=Max(dp[j],dp[j-c]+w);}void combag(int
2017-12-14 10:02:59 460
原创 动态规划之区间DP专题
动态规划之区间DP专题什么是区间DP所谓区间dp,就是在一个区间上进行的dp, 一般通过将大区间分割成小区间进行dp。 区间型动态规划,又称为合并类动态规划,是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的区间中哪些元素合并而来有很大的关系。区间动归状态转移方程及一般动规过程:for k:=1 to n-1 do //区间长度...
2017-12-14 10:02:24 1028
原创 动态规划之基础DP专题
动态规划(英语:Dynamicprogramming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常
2017-12-14 10:01:25 1700
原创 动态规划之斜率优化专题
动态规划之斜率优化专题“DP的斜率优化——对不必要的状态量进行抛弃,对不优的状态量进行搁置,使得在常数时间内找到最优解成为可能。斜率优化依靠的是数形结合的思想,通过将每个阶段和状态的答案反映在坐标系上寻找解答的单调性,来在一个单调的答案(下标)队列中O(1)得到最优解。””一些试题中繁杂的代数关系身后往往隐藏着丰富的几何背景,而借助背景图形的性质,可以使那些原本复杂的数量关系和抽象的概念,显得直观,
2017-12-12 10:35:39 723 2
原创 动态规划之单调队列优化专题【附题目练习清单】
什么是单调(双端)队列单调队列,顾名思义,就是一个元素单调的队列,那么就能保证队首的元素是最小(最大)的,从而满足动态规划的最优性问题的需求。 单调队列,又名双端队列。双端队列,就是说它不同于一般的队列只能在队首删除、队尾插入,它能够在队首、队尾同时进行删除。【单调队列的性质】一般,在动态规划的过程中,单调队列中每个元素一般存储的是两个值: 1.在原数列中的位置(下标) 2....
2017-12-06 12:20:07 3683 1
UVA1131 最优三角形剖分
2017-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人