摘要:
一、背包问题基础概念 核心问题:给定一组物品(重量和价值)和一个容量有限的背包,如何选择物品使得总重量不超过背包容量且总价值最大。 二、01背包问题 特点:每个物品只能选0次或1次 1. 问题分析 状态定义:dp[i][j] 表示前i个物品在容量j时的最大价值 状态转移: 不选第i个物品:dp[i] 阅读全文
posted @ 2025-02-24 22:10
咋还没来
阅读(41)
评论(0)
推荐(0)
摘要:
动态规划 动态规划(Dynamic Programming,DP)通过将复杂问题分解为子问题,并存储子问题的解来避免重复计算,从而提高效率。 一、线性DP(一维动态规划) 核心思想:用一维数组 dp[] 表示状态,状态转移仅依赖前一维度的结果。 示例:斐波那契数列 问题:求第 n 个斐波那契数(F( 阅读全文
posted @ 2025-02-24 20:18
咋还没来
阅读(66)
评论(0)
推荐(0)
摘要:
DFS 深度优先搜索(DFS,Depth-First Search)是一种遍历或搜索树/图结构的算法,其核心思想是“一条路走到底”,通过递归或栈实现。DFS 在解决 组合问题、排列问题、路径问题、连通性问题 时非常高效。以下是 DFS 的通用模板、回溯、剪枝、记忆化搜索的详细解析。 一、DFS 通用 阅读全文
posted @ 2025-02-24 17:11
咋还没来
阅读(69)
评论(0)
推荐(0)

浙公网安备 33010602011771号