随笔分类 -  动态规划

摘要:板子题 阅读全文
posted @ 2023-12-17 19:36 wangmarui 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目链接 一道 dp 板子题。 只需要设 dpi,j 为前 imod3j 的方案数的数量即可。 剩下的就看代码了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; #defin 阅读全文
posted @ 2023-12-16 00:22 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1272D Remove One Element 题意简述 给定一个长度为 n 的序列,你需要求出至多删除一个数后的这个序列的最长上升子串。 解题思路 首先我们可以想一下这题的弱化版,给定一个长度为 n 的序列,你需要求出至多删除一个数后的这个序列的最长上升子序列。 这 阅读全文
posted @ 2023-12-12 11:24 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 一道 dp 的入门题。 O(2n): 考虑直接爆搜,可以考虑到所有情况。 O(n2): 考虑 dp,设 dpi,j 代表到达第 i 层第 j 个数所能达到的最大值。 状态转移方程为 \(dp_{i,j}=a_{i,j}+\max(d 阅读全文
posted @ 2023-12-08 23:45 wangmarui 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 数字三角形的变形。 直接在原来的基础上加个判断 3 倍的就行了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; long long n,m,ans=-1e18,a[110][110],dp[110][110][5 阅读全文
posted @ 2023-12-08 21:54 wangmarui 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一道小清新动态规划题,直接设 dp[i] 表示前 i 个鼹鼠最多能打到几个,然后状态转移方程也很好想了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; long long n,m,ans,dp[1001 阅读全文
posted @ 2023-12-08 09:56 wangmarui 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一道算是 dp 的板子题了。 题意大概就是 01 背包 + 捆绑。 首先回顾一下 01 背包,一个比较基础的 dp 题,状态转移方程也很好想,是 dp[i][j]=max(dp[i][j],dp[i1][jw[i]]+v[i])。 代码实现如下: 点击查看代码 #inclu 阅读全文
posted @ 2023-12-07 20:38 wangmarui 阅读(19) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示