- 博客(6)
- 收藏
- 关注
原创 【C++】动态规划
本文介绍了动态规划的三个核心特征:无后效性(如斐波那契数列计算时只依赖前两项)、最优子结构(子问题最优解构成整体最优)和重叠子问题(重复计算相同子问题)。解题步骤包括:1)分析问题适用性;2)定义状态变量(如表结构设计);3)设计状态转移方程(如fib[i]=fib[i-1]+fib[i-2]);4)设置初始状态和边界条件;5)确定最终答案形式。文中以斐波那契数列为例,对比了递归(需记忆化剪枝)和递推两种实现方式,说明动态规划本质上是通过存储子问题解来优化重复计算的算法策略。
2025-07-01 11:22:46
1160
原创 K 的倍数或个位是 K
4. **`countBoth` 函数**:计算区间 `[l, r]` 内既是 `k` 的倍数,个位又是 `k` 的数的个数。因为 `10a` 必须是 `k` 的倍数,所以 `a` 必须是 `k / \gcd(10, k)` 的倍数。2. **`countMultiples` 函数**:计算区间 `[l, r]` 内是 `k` 的倍数的数的个数。- `|A ∩ B|` 是区间 `[l, r]` 内既是 `k` 的倍数,个位又是 `k` 的数的个数。
2025-02-26 18:55:54
827
原创 【BFS例题】三维地牢
这个问题可以通过广度优先搜索(BFS)算法来解决。BFS非常适合用于寻找最短路径,因为它会逐层扩展搜索范围,直到找到目标节点为止。
2025-02-26 18:50:49
1548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅