![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 67
动态规划
Elephant_King
github:https://github.com/Elephant-King9
平时写的代码会上传到github,欢迎学习交流
展开
-
【算法】背包问题
也就是说{1,2}和{2,1}算同一种情况。也就是说{1,2}和{2,1}算两种情况。先遍历物品在遍历背包得到的是组合数。先遍历背包在遍历物品得到的是排列数。原创 2024-02-13 13:07:23 · 432 阅读 · 0 评论 -
【算法】【动态规划】从1到n整数中1出现的次数:O(logn)算法
参考问题:PTA | 程序设计类实验辅助教学平台(1049 Counting Ones (30 分))有个专门的算法,参考文章:从1到n整数中1出现的次数:O(logn)算法_love music.的博客-CSDN博客注意:当now到达对应为值的时候只用管这个位有几个一就好了,不用管上一位有几个!例如:当now为百位的时候,只需要关注从100~199有多少个1,不用管十位和个位的情况(如211算不算百位上的1呀),因为这些所有情况都在十位和个位包含了过程模拟:设now左边的几位的原创 2021-10-27 10:14:16 · 248 阅读 · 0 评论 -
【算法】【动态规划】01背包问题
参考视频【动态规划】背包问题_哔哩哔哩_bilibili首先画出一个表首先第一行肯定全部都是0,因为没有物品编号为0的物品同理第一列是全部是0,因为当背包容量为0的时候,什么东西都放不下随后随便哪一个格子举例,比如图中的这个格子,当背包容量为6,有123三个物品可选时,需要比较只有1和2号物品的时候背包容量为6的时候的价值和把三号物品放进去以后的价值(三号物品的价值加上背包容量减去3好物品的重量)for(int i = 1; i <= n; i++) { ...原创 2021-10-25 15:47:24 · 181 阅读 · 0 评论 -
【算法】【动态规划】上升下降不上升不下降子序列再理解
初步理解:最长上升子序列和最长不下降子序列(动态规划)_Elephant_King的博客-CSDN博客本文本次探讨,最长上升子序列,最长不下降子序列,最长下降子序列,最长不上升子序列与这个序列倒序后的最长上升子序列,最长不下降子序列,最长下降子序列,最长不上升子序列与反向遍历的最长上升子序列,最长不下降子序列,最长下降子序列,最长不上升子序列共12个序列之间的关系测试数据1413 7 9 16 38 24 37 18 44 19 21 22 63 15将12个dp数组列出原创 2021-11-25 19:38:11 · 193 阅读 · 0 评论 -
【算法】【动态规划】字符串编辑距离问题
题目大意: 就是给出两个字符串,只能进行增删改操作,问从字符串1转化为字符串2最少需要几步状态转移方程dp[i][j] i和j分别表示两个字符串的长度当s1[i]==s2[j]的时候,说明不用操作,相当于当s1长度为i的时候和s2长度为j的时候不需要进行操作,所以次数和s1长度为i-1和s2长度为j-1的时候相等 所以dp[i][j]=dp[i-1][j-1] 当s1[i]!=s2[j]的时候,说明需...原创 2021-11-30 19:33:51 · 356 阅读 · 0 评论 -
【算法】【动态规划】序列问题
主要包括以下五个方面最长上升子序列,最长不下降子序列,最长下降子序列,最长不上升子序列,最长公共子序列一、最长序列问题其中关于前四种序列可以参考往期自己写的文章,四种序列可以都理解为dp数组在判断条件的时候条件不同,但是思想是相同的根本思想就是:从第一个结果进行遍历,根据当前遍历到的值和之前遍历到的值进行比较,然后得到相对较大的那个状态转移方程最长上升子序列和最长不下降子序列(动态规划)_Elephant_King的博客-CSDN博客对于...原创 2021-11-29 14:45:02 · 511 阅读 · 0 评论 -
【算法】【动态规划】最长上升子序列和最长不下降子序列
也是个动态规划的经典问题了参考视频:9.67 最长不下降子序列——信息学竞赛培训课程_哔哩哔哩_bilibili给出一个无序的数组例如:5 8 8 6 2 6 7则最长上升子序列为5 6 7最长不下降子序列为5 6 6 7核心思想:遍历数组,以被遍历的数为结尾计算最长序列最长上升子序列逐步遍历:1.先设置一个dp数组,初值全部设为1设置两个变量i,j,...原创 2021-10-25 10:46:59 · 271 阅读 · 0 评论 -
【算法】【动态规划】最长公共子序列问题(LCS)
给出两个序列,求两个序列最长的公共部分参考文章动态规划 最长公共子序列 过程图解_hrn1216的博客-CSDN博客_最长公共子序列加入给出两个子序列s1 1 3 4 5 6 7 7 8 s2 3 5 7 4 8 6 7 8 2 两者最长的序列应该是3 5 7 7 8核心思想:当s1的最后一个值和s2的最后一个值相等的时候,其最长序列应该是除去这两个值...原创 2021-11-22 20:52:48 · 311 阅读 · 0 评论