欢迎来到Soray88的博客

本人蒟蒻一枚。
摘要: 背包问题是动态规划最基础的基础,这里本蒟蒻讲解一下几类背包问题。 01背包 题目 有N件物品和一个容量为V的背包,每种物品只有一个,放入第i件物品的费用是Ci,价值是Wi。 求将若干个物品装入背包得到的最大价值。(总费用不能超过总容量V) 解析 最基本的背包,每种物品只有一个,可放可不放。 很容易可 阅读全文
posted @ 2019-08-29 14:19 Soray88 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 前言 动态规划是很重要的一个知识点,大大小小的比赛总会有一两道DP题,足以说明动态规划的重要性。 动态规划主要是思想,并没有固定的模板,那么,怎么判断题目是不是动态规划呢? DP题一般都会满足三个条件:子问题重叠、无后效性、最优子结构性质。 动态规划把原问题看作若干个重叠子问题,每个子问题的求解过程 阅读全文
posted @ 2019-08-29 09:28 Soray88 阅读(1085) 评论(0) 推荐(2) 编辑
摘要: 顾名思义,线性DP就是在一条线上进行DP,这里举一些典型的例子。 LIS问题(最长上升子序列问题) 题目 给定一个长度为N的序列A,求最长的数值单调递增的子序列的长度。 上升子序列B可表示为B={Ak1,Ak2,···,Akp},其中k1<k2<···<kp。 解析 状态:F[i]表示以A[i]为结 阅读全文
posted @ 2019-08-29 09:27 Soray88 阅读(1744) 评论(0) 推荐(4) 编辑