摘要: P1233 木棍加工 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 读题可知我们要求的是将所有木棍分割成长度与宽度都是不上升子序列的序列个数。 既然是不上升子序列,那么我们就结构体排序一下。 1 bool cmp(const node&s1,const node&s2) 2 { 阅读全文
posted @ 2022-04-04 16:09 wellerency 阅读(151) 评论(0) 推荐(0) 编辑
摘要: P1077 [NOIP2012 普及组] 摆花 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 很很很基础的一道01背包问题,但是对目前的我来说还是有亮点的。 状态表示:前i种花共j盆的摆放方案数量 状态计算: 1.如果第i种花不摆:f[i,j]=f[i-1,j] 2.如果第i种花 阅读全文
posted @ 2022-04-03 16:46 wellerency 阅读(24) 评论(0) 推荐(0) 编辑
摘要: P1280 尼克的任务 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道线性dp的基础题。但是状态方程自己想复杂了。刚开始是想用二维数组表示,选择i项工作后时间到j的总工作时长最小是多少,然后用总时间减它。很麻烦,而且不会写.。。。然后看了题解,发现只需要一维数组即可。状态表示 阅读全文
posted @ 2022-04-03 15:33 wellerency 阅读(27) 评论(0) 推荐(0) 编辑
摘要: P1434 [SHOI2002]滑雪 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 记忆化搜索的入门第一题。 在递归中首先判断是否已经知道该点的数据,知道的话就返回,避免重复计算。——记忆化搜索的优点(目前认为) 状态表示:到坐标(i,j)的最大长度。 状态计算:f [ i , 阅读全文
posted @ 2022-03-30 16:26 wellerency 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 什么是记忆化搜索呢? 搜索的低效在于没有能够很好地处理重叠子问题;动态规划虽然比较好地处理了重叠子问题,但是在有些拓扑关系比较复杂的题目面前,又显得无奈。记忆化搜索正是在这样的情况下产生的,它采用搜索的形式和动态规划中递推的思想将这两种方法有机地综合在一起,扬长避短,简单实用,在信息学中有着重要的作 阅读全文
posted @ 2022-03-30 16:21 wellerency 阅读(140) 评论(0) 推荐(0) 编辑
摘要: P2196 [NOIP1996 提高组] 挖地雷 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 刚开始想的是记忆化搜索,但是发现这个问题是一维的,用记忆化搜索会麻烦,所以用线性dp。 状态表示:走到第i个地窖后的地雷最大总数量。(以终点作为状态表示,遍历前i-1个) 状态计算: 阅读全文
posted @ 2022-03-30 15:04 wellerency 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 291. 蒙德里安的梦想 - AcWing题库 这道题想写出来真恶心啊(起码对于现在的我来说)主要用的方法就是正确选择dp的状态表达,以及使用状态压缩把每一种状态用二进制的01式子表示出来。 目前碰到的状态压缩就是把一种状态抽象成0与1,以01式子的形式表示该状态。 对于这道题,我们可以先分析每一列 阅读全文
posted @ 2022-03-29 19:01 wellerency 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 900. 整数划分 - AcWing题库 计数类dp在目前我的理解里,就是状态表示中的属性是数量的dp。这道题就是一个完全背包问题的变形,完全背包问题求的是每种物品无限次使用后的最大代价(注意是这个状态表示的属性是max),而本题求的是每种数字无限次使用后能表示成一个特定的数的数量。 本题的公式推导 阅读全文
posted @ 2022-03-29 16:19 wellerency 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 282. 石子合并 - AcWing题库 所有的区间dp问题枚举时,第一维通常是枚举区间长度,并且一般 len = 1 时用来初始化,枚举从 len = 2 开始;第二维枚举起点 i (右端点 j 自动获得,j = i + len - 1) 这就是典型的区间dp问题。因为求的是1到n的代价最小值,所 阅读全文
posted @ 2022-03-28 12:25 wellerency 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 902. 最短编辑距离 - AcWing题库 刚拿到题感觉无从下手。看了讲解之后才领悟了一丢丢。既然题目是问操作次数的最小值,那么我们就把每一次可以进行的操作分一下类。 首先还是按照y总的方法,先分析出状态表示。因为题中问的是将A变成B需要的操作次数,所以我们的状态表示可以是为了让A的前i个字符与B 阅读全文
posted @ 2022-03-28 11:44 wellerency 阅读(34) 评论(0) 推荐(0) 编辑