随笔分类 -  C++

摘要:背包问题 1 01背包和完全背包问题 01背包问题 有N件物品和一个容量为V的背包,第i件物品的体积是v[i]、价值是w[i],每种物品只可以使用一次,求将哪些物品放入背包可以使得价值总和最大。这里的w是weight即权重的意思 这是最基础的背包问题,"01"就是指每种物品要么选要么不选,我们定义状 阅读全文
posted @ 2023-05-05 20:32 空無一悟 阅读(119) 评论(0) 推荐(0) 编辑
摘要:线性DP的力扣题目练习 这一章将会介绍线性动态规划的相关概念和经典问题,并给出一些练习题供大家演练。 用动态规划解决问题的过程有以下几个关键点:状态定义,状态的转移,初始化和边界条件。 状态定义 就是定义子问题,如何表示目标规模的问题和更小规模的问题。例如常见的方法:定义状态 dp[n],表示规模为 阅读全文
posted @ 2023-05-04 23:47 空無一悟 阅读(48) 评论(0) 推荐(0) 编辑
摘要:线性模型与区间DP 1 线性模型 基本概念 这里的线性是指状态的排布是线性的 线性模型是动态规划中最常用的模型 一般的代码模型是: for(int i = 0; i < n; i++) { for(j = 0; j < i; j++) { // Todo: 更新dp的具体逻辑 } } 最典型的一个例 阅读全文
posted @ 2023-05-03 22:11 空無一悟 阅读(40) 评论(0) 推荐(0) 编辑
摘要:动态规划简介 1 动态规划的基本概念 阶段、状态、决策、策略、状态转移方程 1) 阶段和阶段变量 将问题的全过程恰当地分成若干个相互联系的阶段闫氏DP分析法:对应f[i][j]的ij遍历时形成的所有f[i][j] 阶段的划分一般根据时间和空间的自然特征去划分 阶段的划分便于把问题转化成多阶段决策问题 阅读全文
posted @ 2023-05-02 23:51 空無一悟 阅读(829) 评论(0) 推荐(0) 编辑
摘要:2023-04-29 动态规划介绍 动态规划是运筹学课程的一部分 多阶段决策问题 有一类活动的过程,可以分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果 当然,每个阶段的决策的选取不是任意确定的,它依赖于当前的状态,又会影响以后的发展 如下图,①、②...n这 阅读全文
posted @ 2023-04-29 19:48 空無一悟 阅读(202) 评论(0) 推荐(0) 编辑
摘要:常见的排序算法总结 参考博文常见的排序算法——常见的10种排序 常见算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时 阅读全文
posted @ 2023-03-07 01:49 空無一悟 阅读(123) 评论(0) 推荐(0) 编辑

主题色彩
点击右上角即可分享
微信分享提示