动态规划
糖宋元明清
这个作者很懒,什么都没留下…
展开
-
整数划分
假设我们有一个整数n,我们要对它在约束条件不同的情况下进行划分。1.把n划分成不小于m(且为正整数)的划分数2.把n划分成为k个正整数的划分数3.把n划分成k个奇数的划分数1.把n划分成不小于m(且为正整数)的划分数—————————————————————————————————————————————状态dp[i][j]代表把i划分为不小于j的划分数。1.把n划分为不小于m但可以存在相同数时的...原创 2018-03-31 09:13:41 · 679 阅读 · 2 评论 -
动态规划专题-背包讲解
1. 01背包 问题描述: 有n件物品和一个容量为v的背包。放入第i件物品的占的空间为Ci,得到的价值是Wi,求解将哪些物品装入背包可以 使得总价值最大; 首先要明白这个问题不能用贪心来做,因为当前的选择会影响到以后的选择,也就是说当前的选择的最优解 可能会影响到全局的最优解; 考虑用动态规划来做...原创 2018-06-30 16:30:31 · 2842 阅读 · 4 评论 -
动态规划框架讲解
1.首先要明确动态规划的概念; 1.动态规划是一个思想,而不是一个特定的算法。 2.动态规划作为一种思想通常用来解决最优解的问题;————————————————————————————————————————————————————2.解题框架 可以用动态规划解决的题目,通常具有一定的相似性; 这些相似性包括但不限于: 1.通常该...原创 2018-06-28 21:12:52 · 2457 阅读 · 0 评论 -
状态压缩dp(状压dp)
注:在涉及到位运算时,一定要注意位运算的优先级。该加的括号一定要加状压dp是一类比较难理解的dp;在讲状压dp之前,我们应该清楚所有的dp是解决多阶段决策最优化问题的一种思想方法;请注意多阶段这三个字:经过前面三种背包的学习,可以发现如何定义状态是解决动态规划最重要的一步;状态的定义也就决定了相当于阶段的划分;在背包问题中,我们通过物品的件数i和背包的容量j来定义状态或者说...原创 2018-07-16 09:05:43 · 33013 阅读 · 6 评论 -
浅谈动态规划优化
动态规划是解决多阶段决策最优化问题的一种思想方法。有时动态规划的时间复杂度过高,需要我们对动态规划进行优化。对动态规划进行优化的普遍方法是重新定义阶段,我们用一个例子来加以说明:鹰蛋问题:有一堆共 M 个鹰蛋,一位教授想研究这些鹰蛋的坚硬度 E。他是通过不断从一幢 N 层的楼上向下扔鹰蛋来确定 E 的,当鹰蛋从第 E 层楼及以下楼层落下 时是不会碎的,但从第(E+1)层楼及以上...原创 2018-07-21 17:58:11 · 2281 阅读 · 0 评论