KEY.L
KEY.L
全部文章
分类
题解(1)
归档
标签
去牛客网
登录
/
注册
KEY.L的博客
全部文章
(共7篇)
题解 | #汉诺塔问题#
class Solution { public: vector<string> ans; void H...
C++
动态规划
2022-07-10
1
396
题解 | #【模板】完全背包#
先上代码,和01背包问题的解法有略微的改动,区别在于遍历体积 jj 时从逆序改为顺序,在上一题中有我关于01背包问题的理解。 上一篇代码中(01背包中),解释过,逆序是为了保证更新当前状态时,用到的状态是上一轮的状态,保证每个物品只有一次或零次; 在这里,因为每个物品可以取任...
动态规划
C++
2022-07-06
7
581
题解 | #跳台阶#
本题与斐波那契数列相似,不同的是是以1,2,3,5开始。 那么首先回忆一下斐波那契数列,作为dp的入门题,斐波那契作为数学和许多书中的动归入门题 相信递归的方程式对于大家而言并不难 就是dp[i]=dp[i-1]+dp[i-2]; #include<iostream>...
动态规划
C++
2022-07-03
2
416
题解 | #斐波那契数列#
首先来看看题目的要求:空间复杂度 O(1),时间复杂度 O(n) ,本题也有时间复杂度 O(logn)的解法~~~ 那么首先回忆一下斐波那契数列,作为dp的入门题,斐波那契作为数学和许多书中的动归入门题 相信递归的方程式对于大家而言并不难 就...
C
动态规划
2022-07-03
3
387
题解 | #【模板】01背包#
优化一般就是优化状态转移方程 01背包 特点:每个物品仅能使用一次 重要变量&公式解释 f[i][j]:表示所有选法集合中,只从前i个物品中选,并且总体积≤≤j的选法的集合,它的值是这个集合中每一个选法的最大值. 状态转移方程 f[i][j] = max(f[i-1][j], f[i-1]...
动态规划
C++
2022-06-27
8
1072
题解 | #连续子数组的最大和#
首先看到最大和,然后观察是求上面的最大值,一看连续子数组 这时候脑子里面应该会有很多idea 首先,既然是连续的子数组那如果都是正数的话, 因为数组中有正有负有0,因此每次遇到一个数,要不要将其加入我们所求的连续子数组里面,是个问题,有可能加入了会更大,有可能加入了会更小,而且我们...
C++
动态规划
2022-06-27
5
451
题解 | #牛牛的装球游戏#
首先想好算法,一看最长上升子序列,那么比较脑子里应该出现几个dp式子: 接下来一看要求:空间复杂度 O (n) ,时间复杂度 O (n) 好家伙必须要on的复杂度 那么可以尝试结合其他算法去优化一个比较直接的dp,那么咱们首选二分! 二分的思路如下: 先定义边界,l = 0, r = len, ...
C++
二分查找
动态规划
2022-06-23
4
722