什么是哈希? 从原理到应用分析什么是哈希?一、什么是哈希?哈希(hash):将任意长度的输入(关键字),通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值,通常哈希值代表了关键字的存储位置。但是为什么要这样做呢?或者说, 动态规划 2022年02月10日 79 点赞 0 评论 85025 浏览
状态压缩DP图文实例讲解(二) 本文是讲解状态压缩DP的第二部分,仍然是对基于连通性问题的探讨与学习。一些概念性的问题,以及基本解法在第一节中讲过,这里就不再赘述。对典例蒙德里安的梦想的分析直接看例题:求把N×M的棋盘分割成若干个1×2的长方形,有多少种方案。例如当N=2,M=4时,共有5种方案。 动态规划 2022年03月24日 197 点赞 0 评论 74192 浏览
状态压缩DP图文实例讲解(一) 动态规划算法的过程是随着阶段的增长,在每个状态维度上的分界点组成了DP拓展的轮廓。对于某些问题,我们需要在动态规划的状态中记录一个集合,保存这个轮廓的详细信息,以便于进行状态转移。若集合大小不超过N,集合中每个元素都是小于k的自然数,则我们可以把这个集合看做一个N位k进制数, 动态规划 2022年03月16日 218 点赞 0 评论 93290 浏览
什么是状态压缩DP? 状态压缩DP一般是基于二进制进行的。状态压缩DP一般分为两类:①基于连通性DP(棋盘式)②集合式(表示每一个元素是否在集合中)一、概述1.状态压缩状态压缩就是使用某种方法,简明扼要地以最小代价来表示某种状态,通常是用一串01数字(二进制数)来表示各个点的状态。 动态规划 2022年05月27日 148 点赞 0 评论 77878 浏览
数位DP概念和实例讲解 说到数位DP,它主要是用于处理一些与数位有关的问题,主要是计数问题。并且数位DP一直以来是DP家族里比较冷门的一种,但一旦遇上了,如果不会数位DP单纯靠暴力方法很难骗分。一、什么是数位DP?数位DP是一种计数用的DP,一般就是要统计一个区间[l,r]内满足一些条件数的个数。 动态规划 2022年03月11日 91 点赞 0 评论 104293 浏览
树形DP概念和实例讲解 一、什么是树型动态规划顾名思义,树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向:(1)叶->根:在回溯的时候从叶子节点往 动态规划 2022年02月06日 249 点赞 0 评论 96016 浏览
DAG上的DP实例讲解 DAG是学习动态规划的基础,(DAG:有向无环图。)很多问题都可以直接转化为DAG上的最长路、最短路或路径计数问题。两个经典的DAG模型,嵌套矩形和硬币问题。一、嵌套矩形(1)第一个DAG模型:矩形嵌套问题描述:有n个矩形,每个矩形可以用a,b来描述,表示长和宽。 动态规划 2022年02月09日 193 点赞 0 评论 90598 浏览
区间DP实例讲解 一、什么是区间DP?顾名思义:区间DP就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的最优解进而得出整个大区间上最优解的DP算法。二、核心思路既然让我求解在一个区间上的最优解,那么我把这个区间分割成一个个小区间,求解每个小区间的最优解,再合并小区间得到大区间即可。 动态规划 2022年04月14日 89 点赞 0 评论 70969 浏览
超详细背包DP九讲(算法分析+问题分析+代码分析) P01:01背包问题题目:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路:这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 动态规划 2022年02月28日 136 点赞 0 评论 84900 浏览
记忆化搜索实例讲解 什么是记忆化搜索?记忆化搜索在本质上,还是动态规划,只是实现方式采用了深度优先搜索的形式,但是它不像深度优先搜索那样重复枚举所有情况,而是把已经计算的子问题保存下来,这样就和动态规划的思想不谋而合了。本篇文章会通过最简单的例子对记忆化搜索进行深入讲解,帮助大家学会什么是记忆化搜索。 动态规划 2022年04月24日 244 点赞 0 评论 79808 浏览