随笔分类 -  动态规划

摘要:0-1背包 题目链接:https://www.acwing.com/problem/content/2/ 思路 实现 #include <iostream> using namespace std; const int N = 1010; int dp[N][N]; int V[N]; int W[ 阅读全文
posted @ 2020-08-20 11:36 NaughtyCoder 阅读(89) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/ 动态规划 状态表示:f[i]表示以nums[i]结尾的数组的连续子数组的最大和; 状态计算: f[i - 1] > 0, f[i] = f[i - 1 阅读全文
posted @ 2020-06-10 09:00 NaughtyCoder 阅读(128) 评论(0) 推荐(0)
摘要:题目链接: https://leetcode-cn.com/problems/li-wu-de-zui-da-jie-zhi-lcof/ 动态规划 状态表示: f[i][j]表示从左上角走到[i,j]处拿到的礼物的最大价值; 状态计算: f[i][j] = max(f[i - 1][j], f[i] 阅读全文
posted @ 2020-06-08 16:53 NaughtyCoder 阅读(207) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof/ 朴素版 状态表示:相当于枚举在哪天卖, f[i]表示以prices[i]结尾的子数组的最大利润; 状态计算:f[i]的最大利润等于min(f[i - 1], pr 阅读全文
posted @ 2020-06-02 16:34 NaughtyCoder 阅读(146) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/nge-tou-zi-de-dian-shu-lcof/ 朴素版 状态表示:f[i][j]表示投掷wani枚骰子,j点数的出现次数; 状态计算:f[i][j] = f[i - 1][j - 1 ] + f[i - 1][j 阅读全文
posted @ 2020-06-02 09:43 NaughtyCoder 阅读(123) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/jian-sheng-zi-lcof/ 贪心 class Solution { public: int cuttingRope(int n) { if(n <= 3) return 1 * (n - 1); int res 阅读全文
posted @ 2020-05-08 19:23 NaughtyCoder 阅读(86) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/ 双指针算法 i在前,j在后,分别指向不重复子串的头和尾;使用一个哈希表每个字符出现的次数,当遍历到j时,发现s[ 阅读全文
posted @ 2020-05-03 19:37 NaughtyCoder 阅读(102) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/ 递归 class Solution { public: int translateNum(int num) { if(num <= 9) re 阅读全文
posted @ 2020-04-30 08:19 NaughtyCoder 阅读(108) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/ 思路 只关心最终活着的那个人的序号变化,从编号(索引值)的角度考虑; 从8个人开始,每次杀一个人,去掉被杀的人,然后把杀掉的 阅读全文
posted @ 2020-04-19 13:30 NaughtyCoder 阅读(131) 评论(0) 推荐(0)