算法题目

rimliuhan / 2023-08-01 / 原文

第一章 动态规划

数字三角形模型[线性DP]

  1. 摘花生

  2. 最低通行费

  3. 数字三角形

  4. 方格取数

最长上升子序列模型[线性DP]

  1. 最长上升子序列

  2. 怪盗基德的滑翔翼

  3. 登山

  4. 合唱队形

  5. 友好城市

  6. 最大上升子序列和

  7. 导弹拦截[贪心]

  8. 导弹防御系统[dfs+贪心]

背包问题[组合类]

  1. 采药(01背包)
  2. 装箱问题(01背包)
  3. 宠物小精灵之收服(01背包,二维费用)
  4. 二维费用的背包问题
  5. 潜水员
  6. 数字组合(01背包)
  7. 庆功会(多重背包)
  8. 买书(完全背包)
  9. 背包问题求具体方案
  10. 机器分配(分组背包)
  11. 金明的预算方案
  12. 开心的金明
  13. 货币系统(和买书一样,完全背包求方案数)
  14. 多重背包问题II
  15. 混合背包问题
  16. 有依赖的背包问题
  17. 背包问题求方案数
  18. 能量石

第二章 搜索

Flood Fill

  1. 池塘计数
  2. 城堡问题
  3. 山峰和山谷

最短路模型

  1. 迷宫问题
  2. 武士风度的牛
  3. 抓住那头牛

多元BFS

  1. 矩阵距离

最小步数模型

  1. 魔板

双端队列BFS

  1. 电路维修

双向广搜

  1. 字串变换

A*

  1. 八数码
  2. 第K短路

DFS之连通性模型

  1. 迷宫
  2. 红与黑

DFS之搜索顺序

  1. 马走日