自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划解决堆箱子问题:从原理到代码实现

堆箱子问题的经典描述为:给定一组长方体箱子,每个箱子都有三个维度(长、宽、高),我们需要将这些箱子堆叠起来,且满足以下两个条件:上方箱子的长、宽必须严格小于下方箱子的长、宽(确保箱子能稳定放置,不考虑旋转箱子的情况);堆叠的目标是使总高度最大。举个简单例子:若有两个箱子,箱子A(2,3,4)、箱子B(1,2,3),则B可以放在A上方,总高度为4+3=7,这是最优解。若存在箱子C(3,4,5),则最优堆叠为C→A→B,总高度5+4+3=12。

2025-12-13 10:15:00 1200

原创 吃透动态规划:从原理到实战,告别算法恐惧

状态定义是动态规划的核心,也是最容易出错的一步。我们需要用一个数组(或变量)来表示“子问题的答案”,这个数组就叫dp数组,其中dp[i]代表的含义就是“状态”。dp[i] = 爬到第i阶楼梯的不同方法数。很多人拿到题后直接想“递推公式”,却忽略了状态定义。如果dp[i]的含义不明确,后续的转移方程必然出错。解决办法:先把“dp[i]代表什么”写在纸上,确保符合子问题的逻辑。把复杂的原问题拆解成多个重复的子问题,记住子问题的答案,再通过子问题的最优解组合出原问题的解。

2025-12-09 09:00:00 720

原创 数据结构与算法心得体会及堆箱子实现

dp[i]表示以第 i 个箱子为最顶层箱子时,能够堆叠的最大高度。转移方程:对于第 i 个箱子,遍历所有 j < i 的箱子,若第 j 个箱子的长 < 第 i 个箱子的长且第 j 个箱子的宽 < 第 i 个箱子的宽(满足堆叠约束),则。(每个箱子单独堆叠时,高度为自身高度)。(遍历所有箱子作为顶层的情况,取最大高度)。数据结构与算法二的学习,不仅提升了我的编程能力和逻辑思维,更让我明白:算法不是 “天书”,而是解决问题的 “思维工具”。

2025-12-07 23:13:40 915 1

空空如也

空空如也

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

TA关注的人

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