![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 90
sun897949163
这个作者很懒,什么都没留下…
展开
-
动态规划(3):熟练度练习(POJ 1458、最佳加法表达式、bailian2755、POJ3624、bailian1088)
最长公共子序列Language:DefaultCommon SubsequenceTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 47599Accepted: 19562DescriptionA subsequence of a given sequence is the given sequence with some elemen原创 2016-07-31 14:49:06 · 3118 阅读 · 1 评论 -
动态规划(2):动态规划的三种形式
例:数字三角形(POJ 1163)Language:DefaultThe TriangleTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 45053Accepted: 27208Description73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 show原创 2016-07-31 11:41:51 · 2564 阅读 · 0 评论 -
动态规划(1):基本思路以及步骤
基本思想动态规划是针对一类求最优解的问题的算法, 其核心是将一个问题分解成为若干个子问题(这里对应下文的子问题使用条件), 部分类似于分治的思想(不懂得可以参考归并排序), 通过求每一次的最优决策, 来得到一个最优解。在这里最重要的就是子问题的思想。另一种理解方式数是DP的核心是加法原理(下文的人人为我形递归)和乘法原理(下文的我为人人形递归), 通过这两个原理, 在当状态的前有限多个状态中找到最优原创 2016-07-31 11:05:11 · 28430 阅读 · 6 评论 -
动态规划(4):消除后效性
无后效性:这是DP中最重要的一点, 他要求每个子问题的决策不能对后面其他未解决的问题产影响, 如果产生就无法保证决策的最优性, 这就是无后效性。往往需要我们找到一个合适的状态。上述的问题还有另外一个描述方式, 对于后一个节点的判断不能以前面节点的路径为依据。例:POJ 1037 一个美妙的栅栏N 个木棒, 长度分别为1, 2, …, N.构成美妙的栅栏要求1.除了两端的木棒外,每一跟木棒,要么比它左原创 2016-07-31 20:17:51 · 4768 阅读 · 1 评论 -
动态规划(5):状态压缩
总括有时,状态相当复杂,看上去需要很多空间,比如一个数组才能表示一个状态,那么就需要对状态进行某种编码,进行压缩表示。比如:状态和某个集合有关,集合里可以有一些元素,没有另一些元素,那么就可以用一个整数表示该集合,每个元素对应于一个bit,有该元素,则该bit就是1。例题:bailian: 海贼王之伟大航路描述 “我是要成为海贼王的男人!”,路飞一边喊着这样的口号,一边和他的伙伴们一起踏上了伟大航原创 2016-07-31 20:40:23 · 764 阅读 · 0 评论 -
题解:整数划分问题(DP)
总时间限制: 200ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。 正整数n 的这种表示称为正整数n 的划分。输入 标准的输入包含若干组测试数据。每组测试数据是一行输入数据,包括两个整数N 和 K。 (0 < N <= 50, 0 < K <= N)输出 对于每组测试数据,输出原创 2016-07-31 21:11:16 · 4041 阅读 · 0 评论