前段时间一直写了几个算法题目,发现有个很牛逼的算法,动态规划,虽然有的解题思路和动态规划很像,但是当时不知道其中的原理和一些通用性,接下来的几天,通过一些栗子一点一点揭开动态规划那神秘的面霜,我也是现学现卖的,如果有那里…
分类:贪心算法
强化学习[理论前奏]——动态规划
Preface 本人最近在做强化学习的内容,我发现强化学习基础当中马尔科夫决策过程(MDP)的求解(策略迭代,值迭代)与算法基础当中的动态规划密切相关。但由于本人在本科阶段没有认真看算法导论,所以现在在研究生阶段就补补,…
采药问题(动态规划)
rqnoj 采药问题 题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这…
动态规划法(十一)编辑距离
编辑距离问题 什么是两个字符串的编辑距离(edit distance)?给定字符串s1和s2,以及在s1上的如下操作: 插入(Insert)一个字符 移除(Remove)一个字符 替换(Replace)一个字符 试问…
01背包问题 (0/1 Knapsack Problem) 动态规划+多级图转化【Python】
1、问题描述 假设有n件商品,分别编号为1, 2…n。其中第i件商品价值为vi,它的重量为wi。假设我们有一个背包,其最大承重能力称为W。现在,我们希望往包里装这些商品,使得包里装的商品价值最大,那么我们该选…
石子合并问题--动态规划,贪心
参考资料: 石子合并问题–动态规划;贪心 石子合并问题是最经典的DP问题。首先它有如下3种题型: (1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆…
动态规划&最长公共子序列
一个字符串的子串是字符串中连续的一个序列,而一个字符串的子序列是字符串中保持相对位置的字符序列,譬如,”adi”可以使字符串”abcdefghi”的子序列但不是子串。这也就…
动态规划 凑硬币问题
凑硬币问题 假设有 1 元,3 元,5 元的硬币若干(无限),现在需要凑出 11 元,问如何组合才能使硬币的数量最少? 用数组d来存储当前每个面值可以对应的合成的最小数量 d(i) = d(j) + 1 这里 j <…
动态规划法
爬楼梯问题 在介绍动态规划算法之前,我们不妨先看一下小例子。相信学计算机的在读大学期间都遇到过这么一道题:青蛙一次只能蹦上1个或2个台阶,现在有10个台阶,请问青蛙上这10个台阶有多少种蹦法?当然不一定是青蛙,题目大致就…
数据结构&算法之动态规划(深度优先遍历)
最近在看关于数据结构系列知识点,然后遇到一个动态规划相关的题目——邮票规划。 首先先介绍下关于DPS,也就是深度优先遍历算法吧。 深度优先遍历 深度优先遍历,从初始访问结点出发,我们知道初始访问结点可能有多个邻接结点,深…
算法基础--递归和动态规划
本文主要作为自己的学习笔记,并不具备过多的指导意义。 暴力递归 把问题转化为规模缩小了的同类问题的子问题 有明确的不需要继续递归的条件 base case 求n!的结果 非递归版本 从非依赖关系入手。明确的知晓n!=1×…
最大连续子序列和-动态规划
题目描述: 给定K个整数的序列{ N1, N2, …, NK },其任意连续子序列可表示为{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。最大连续…