草庐IT

蓝桥杯冲刺 - Lastweek - 你离省一仅剩一步之遥!!!(掌握【DP】冲刺国赛)

文章目录💬前言🎯week3🌲day10-1背包完全背包多重背包多重背包II分组背包🌲day2数字三角形-线性DP1015.摘花生-数字三角形🌲day3最长上升子序列-线性DP1017.怪盗基德的滑翔翼-LIS1014.登山-LIS最长公共子序列-线性DP🌲day4最短编辑距离-线性DP编辑距离-线性DP🌲day5石子合并-区间DP整数划分-计数DP🌲day6蒙德里安的梦想-状压DP最短Hamilton路径🌲day7没有上司的舞会-树形DP💬前言💡本文以经典DP入手,带你走进DP的大门,感受DP的魅力🔥🔥🔥DP是重中之重\blue{重中之重}重中之重,它能决定你的最终名次📌在比赛中DP是难点也是

「动态规划」LeetCode 70(爬楼梯)

Leetcode70题有人问我:烤冷面你这两周怎么总搞简单题?我想说:一步一步来~题干简述给定:假设你正在爬楼梯,需要爬n阶你才能到达楼顶。每次你可以爬1或2个台阶。要求:计算出有多少种爬楼梯的方式。解题思路如果我们缩小视野(把大问题化为小问题),爬到第n阶台阶有两种方式:从n-1阶爬一级台阶从n-2阶爬两级台阶用公式表达:dp[n]=dp[n−1]+dp[n−2],其中的特例是:dp[0]=1和dp[1]=1。嚯!这不就是LeetCode509(斐波那契数列)么。代码实现classSolution:defclimbStairs(self,n:int)->int:ifn复杂度时间复杂度O(n)

「动态规划」LeetCode 70(爬楼梯)

Leetcode70题有人问我:烤冷面你这两周怎么总搞简单题?我想说:一步一步来~题干简述给定:假设你正在爬楼梯,需要爬n阶你才能到达楼顶。每次你可以爬1或2个台阶。要求:计算出有多少种爬楼梯的方式。解题思路如果我们缩小视野(把大问题化为小问题),爬到第n阶台阶有两种方式:从n-1阶爬一级台阶从n-2阶爬两级台阶用公式表达:dp[n]=dp[n−1]+dp[n−2],其中的特例是:dp[0]=1和dp[1]=1。嚯!这不就是LeetCode509(斐波那契数列)么。代码实现classSolution:defclimbStairs(self,n:int)->int:ifn复杂度时间复杂度O(n)

DisplayPort1.4协议学习(一)DP协议概览

DisplayPort1.4协议学习(一)DP协议概览Note:本文为DP1.4协议学习系列的第一篇,本篇首先从DP整体结构上简要说明DP协议的传输方式有关传输速率对比的问题,请STFW(SearchTheFuckingWeb)DP总体结构说明(三个通道的作用)如图所示,DP接口由三个通道组成:MainLink通道主链路是一个单向的、高带宽的、低延迟的信道,用于传输同步的数据流,如未压缩的视频和音频。辅助通道Auxiliarychannel(AUXCH)AUXCH是一个半双工和双向通道,用于链路管理和设备控制。热插拔检测HPD(HotPlugDetect)HPD信号主要用作检测热插拔,也作为接

DisplayPort1.4协议学习(一)DP协议概览

DisplayPort1.4协议学习(一)DP协议概览Note:本文为DP1.4协议学习系列的第一篇,本篇首先从DP整体结构上简要说明DP协议的传输方式有关传输速率对比的问题,请STFW(SearchTheFuckingWeb)DP总体结构说明(三个通道的作用)如图所示,DP接口由三个通道组成:MainLink通道主链路是一个单向的、高带宽的、低延迟的信道,用于传输同步的数据流,如未压缩的视频和音频。辅助通道Auxiliarychannel(AUXCH)AUXCH是一个半双工和双向通道,用于链路管理和设备控制。热插拔检测HPD(HotPlugDetect)HPD信号主要用作检测热插拔,也作为接

Leetcode动态规划专题(共38道)

某一问题有很多重叠子问题每一状态一定由上一状态推导出来而贪心没有状态推导,而是直接选局部最优解决方式:确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组模拟:举例推导dp数组检查:打印dp数组1.Leetcode509.斐波那契数classSolution{public:intfib(intn){//第i个数的值vectornum(n+2,0);//初始化num[0]=0;num[1]=1;//确定遍历顺序for(inti=2;i递归写法classSolution{public:intfib(intn){if(n2.Leetcode70.爬楼

Leetcode动态规划专题(共38道)

某一问题有很多重叠子问题每一状态一定由上一状态推导出来而贪心没有状态推导,而是直接选局部最优解决方式:确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组模拟:举例推导dp数组检查:打印dp数组1.Leetcode509.斐波那契数classSolution{public:intfib(intn){//第i个数的值vectornum(n+2,0);//初始化num[0]=0;num[1]=1;//确定遍历顺序for(inti=2;i递归写法classSolution{public:intfib(intn){if(n2.Leetcode70.爬楼

DP 优化小技巧

收录一些比较冷门的DP优化方法。1.树上依赖性背包树上依赖性背包形如在树上选出若干个物品做背包问题,满足这些物品连通。由于01背包,多重背包和完全背包均可以在\(\mathcal{O}(V)\)的时间内加入一个物品,\(\mathcal{O}(V^2)\)的时间内合并两个背包,所以不妨设背包类型为多重背包。先考虑一个弱化版问题。给定一棵有根树,若一个节点被选,则它的父亲必须被选。显然存在一个\(\mathcal{O}(nV^2)\)的树形DP做法,它能求出以每个节点为根时其子树的答案。接下来引出科技:树上依赖性背包。我们发现对每个节点都求答案似乎有些累赘,因为我们只关心以\(1\)为根时的答案

DP 优化小技巧

收录一些比较冷门的DP优化方法。1.树上依赖性背包树上依赖性背包形如在树上选出若干个物品做背包问题,满足这些物品连通。由于01背包,多重背包和完全背包均可以在\(\mathcal{O}(V)\)的时间内加入一个物品,\(\mathcal{O}(V^2)\)的时间内合并两个背包,所以不妨设背包类型为多重背包。先考虑一个弱化版问题。给定一棵有根树,若一个节点被选,则它的父亲必须被选。显然存在一个\(\mathcal{O}(nV^2)\)的树形DP做法,它能求出以每个节点为根时其子树的答案。接下来引出科技:树上依赖性背包。我们发现对每个节点都求答案似乎有些累赘,因为我们只关心以\(1\)为根时的答案

LeetCode算法训练-动态规划

欢迎关注个人公众号:爱喝可可牛奶LeetCode算法训练-动态规划理论知识动态规划当前状态是由前一个状态推导出来的,而贪心没有状态的转移动态规划需要借助dp数组,可能是一维也可能是二维的首先要明确dp数组是用来干什么的,下标对应什么状态如何转移?也就是理清递推公式dp数组如何初始化如何遍历举个栗子模拟推导一遍LeetCode509.斐波那契数分析F(n)=F(n-1)+F(n-2),其中n>1代码classSolution{publicintfib(intn){if(nLeetCode70.爬楼梯分析错误没有理清递推函数classSolution{publicintclimbStairs(in