自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 01背包问题之滚动数组(一维)

二、核心概念理解1. 的含义定义:背包容量为时,能装入物品的最大价值。操作:数组全初始化为。公式:(C语言中通过三目运算符实现最大值比较)原因:一维数组本质是二维数组的“压缩”(仅保留当前层和上一层状态)。若先遍历背包,会导致同一物品被重复选取(类似完全背包),而先遍历物品可保证每个物品仅处理一次,符合01背包“每个物品最多选一次”的约束。通过一维滚动数组,在保证逻辑正确的前提下大幅优化空间效率,适用于处理大规模01背包问题。假设我们有2个物品,背包容量为5。二维数组 表示:状态转移(以第2个物

2025-06-16 00:46:30 2081

原创 动态规划01背包问题

dp[i][j]表示“前 ( i ) 个物品中选,背包容量为 ( j ) 时的最大价值”,表格维度为 ( (3 \text{ 物品} + 1) \times (4 \text{ 容量} + 1) )(行从 ( i=0 ) 到 ( 2 ),列从 ( j=0 ) 到 ( 4 ) )。因为“选当前物品后,剩余容量还能装其他物品”,前 i-1 个物品的状态,本质是“剩余容量的最优利用方案”。如果跳过这一步,就会“浪费剩余容量”,无法得到全局最优解——这正是动态规划“状态传递、子问题最优叠加”的魅力所在。

2025-06-14 00:33:27 1834

原创 贪心算法-分发糖果

单次遍历只能保证单侧约束(如左→右只能保证右边孩子糖果更多),无法同时满足双侧约束。通过两次遍历,局部最优解(左右分别满足约束)合并为全局最优解。(如果评分更高),同时不破坏第一次遍历的结果(使用。约束:右边评分更高的孩子糖果更多)避免覆盖第一次遍历的结果。两次线性遍历,时间复杂度为。已在左→右遍历时被设为。确保每个孩子的糖果数。确保每个孩子的糖果数。(用于存储糖果数组)。

2025-05-31 21:57:03 379

原创 动态规划--打家劫舍1

nums[i]是第i个房间的现金数额。通过比较偷和不偷第i个房间的结果,选择最大值,可以确保每一步的决策都是最优的,从而得到全局最优解。这个问题的核心是对“相邻房间不能同时偷”规则的理解。我们通过逻辑分析和示例演示来彻底弄清楚:规则回顾:相邻房间不能同时偷如果两间相邻的房屋在同一晚上被小偷闯入,系统会报警。相邻指的是房间编号连续(如第1间和第2间、第2间和第3间)。不能同时偷相邻的房间,但可以隔一个或多个房间偷(如第1间和第3间、第1间和第4间)。为什么偷第3间房时,第2间房不能偷?

2025-05-28 09:20:39 2065

原创 深度优先遍历和广度优先遍历的区别

深度优先遍历(DFS)和广度优先遍历(BFS)是图论和树论中常见的遍历算法,它们的区别如下:

2025-05-02 19:05:24 620

原创 qt学习2

【代码】qt学习2。

2025-01-19 16:32:45 188

原创 qt学习1

/Teacher 类 老师类//Student 类 学生类//下课后 ,老师触发一个信号 ,学生响应信号 ,请客吃饭//创建一个老师对象//创建一个学生对象//老师饿了 学生请客的连接//调用下课函数//下课函数,调用后 触发老师饿了的信号delete ui;qDebug()<<"请老师吃饭";Q_OBJECTpublic:signals://自定义信号 写到signals下//返回值是void,只需要声明,不需要实现//可以有参数,可以重载。

2025-01-15 02:26:06 453

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除