线性DP图文实例讲解 线性DP,所谓线性DP,就是指我们的递归方程有一个明显的线性关系的,有可能是一维线性的,也可能是二维线性的。例题一:大盗阿福题目:阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有NN家店铺,每家店中都有一些现金。 动态规划 2022年02月22日 52 点赞 0 评论 82613 浏览
超详细背包DP九讲(算法分析+问题分析+代码分析) P01:01背包问题题目:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路:这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 动态规划 2022年02月28日 136 点赞 0 评论 84900 浏览
状态压缩DP图文实例讲解(二) 本文是讲解状态压缩DP的第二部分,仍然是对基于连通性问题的探讨与学习。一些概念性的问题,以及基本解法在第一节中讲过,这里就不再赘述。对典例蒙德里安的梦想的分析直接看例题:求把N×M的棋盘分割成若干个1×2的长方形,有多少种方案。例如当N=2,M=4时,共有5种方案。 动态规划 2022年03月24日 197 点赞 0 评论 74192 浏览
区间DP实例讲解 一、什么是区间DP?顾名思义:区间DP就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的最优解进而得出整个大区间上最优解的DP算法。二、核心思路既然让我求解在一个区间上的最优解,那么我把这个区间分割成一个个小区间,求解每个小区间的最优解,再合并小区间得到大区间即可。 动态规划 2022年04月14日 89 点赞 0 评论 70969 浏览
动态DP实例讲解 一、简介有一类问题,它可以采用DP解决。但是,如果我们加入区间查询,单点修改甚至区间修改,普通DP望尘莫及。于是,动态DP就应运而生了。二、例题例题一:给定一个长度为n的序列,你需要维护两种操作:①查询一个区间的最大子段和;②单点修改(即将一个位置上的数改成另一个数)Solution首先, 动态规划 2022年02月26日 121 点赞 0 评论 104146 浏览
动态规划DP算法详解 1.简介动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistepdecisionprocess)的优化问题时, 算法和竞赛 2022年02月15日 67 点赞 0 评论 101896 浏览
什么是哈希? 从原理到应用分析什么是哈希?一、什么是哈希?哈希(hash):将任意长度的输入(关键字),通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值,通常哈希值代表了关键字的存储位置。但是为什么要这样做呢?或者说, 动态规划 2022年02月10日 79 点赞 0 评论 85025 浏览
DAG上的DP实例讲解 DAG是学习动态规划的基础,(DAG:有向无环图。)很多问题都可以直接转化为DAG上的最长路、最短路或路径计数问题。两个经典的DAG模型,嵌套矩形和硬币问题。一、嵌套矩形(1)第一个DAG模型:矩形嵌套问题描述:有n个矩形,每个矩形可以用a,b来描述,表示长和宽。 动态规划 2022年02月09日 193 点赞 0 评论 90598 浏览
DP优化(一)单调队列/单调栈优化实例讲解 一、什么是单调栈和单调队列?(1)单调栈从名字上就听的出来,单调栈中存放的数据应该是严格单调有序的,具有以下两个性质。1.满足从栈顶到栈底的元素具有严格的单调递增或单调递减性;2.满足栈的后进先出特性,即越靠近栈底的元素越早进栈。单调栈也分为单调递增栈和单调递减栈。 动态规划 2022年05月04日 201 点赞 0 评论 128386 浏览
什么是动态规划? 谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手。对于动态规划, 动态规划 2022年04月03日 222 点赞 0 评论 88224 浏览