合集-动态规划

摘要:题目传送门 一道算是 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 阅读(17) 评论(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 阅读(14) 评论(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 阅读(29) 评论(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 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 CF1272D Remove One Element 题意简述 给定一个长度为 n 的序列,你需要求出至多删除一个数后的这个序列的最长上升子串。 解题思路 首先我们可以想一下这题的弱化版,给定一个长度为 n 的序列,你需要求出至多删除一个数后的这个序列的最长上升子序列。 这 阅读全文
posted @ 2023-12-12 11:24 wangmarui 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 一道 dp 板子题。 只需要设 dpi,j 为前 imod3j 的方案数的数量即可。 剩下的就看代码了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; #defin 阅读全文
posted @ 2023-12-16 00:22 wangmarui 阅读(5) 评论(0) 推荐(0) 编辑
摘要:板子题 阅读全文
posted @ 2023-12-17 19:36 wangmarui 阅读(13) 评论(0) 推荐(0) 编辑
摘要:板子题 阅读全文
posted @ 2023-12-22 23:33 wangmarui 阅读(7) 评论(0) 推荐(0) 编辑
摘要:板子题 阅读全文
posted @ 2024-01-26 23:20 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:板子题 阅读全文
posted @ 2024-02-02 00:16 wangmarui 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目链接 最典的状压 dp 了。 直接枚举每个状态然后用 01 背包的方式做即可。 时间复杂度 O(n2m)。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits 阅读全文
posted @ 2024-02-10 22:52 wangmarui 阅读(15) 评论(0) 推荐(0) 编辑
摘要:简单dp 阅读全文
posted @ 2024-02-14 22:26 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-06 21:42 wangmarui 阅读(0) 评论(0) 推荐(0) 编辑
摘要:链接 参考此题解 比较有意思的期望 dp,记得多特判 0 的情况。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2024-04-19 15:48 wangmarui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:链接 板题。 三个定义: dpi 表示以 i 为根节点时,其子节点深度的和; sizi 表示以 i 为根节点时,其子树的大小; depi 表示以 1 为根节点时,所有节点的深度。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你M 阅读全文
posted @ 2024-04-26 19:09 wangmarui 阅读(6) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-05-14 16:58 wangmarui 阅读(0) 评论(0) 推荐(0) 编辑
摘要:大家一起来做下这个典题。 链接(at) 链接(luogu) 我们很容易可以想到处理前后缀的最长上升子序列的长度,然后容易 O(nlog2n) 预处理。 做完了。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不 阅读全文
posted @ 2024-05-19 23:16 wangmarui 阅读(10) 评论(0) 推荐(0) 编辑
摘要:好题。 直接上代码吧。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 算法: 思路: */ #incl 阅读全文
posted @ 2024-05-30 13:57 wangmarui 阅读(5) 评论(0) 推荐(0) 编辑
摘要:链接 没啥好说的,直接看代码吧。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 算法: 思路: */ 阅读全文
posted @ 2024-06-01 19:54 wangmarui 阅读(8) 评论(0) 推荐(0) 编辑
摘要:代码恢复训练 2024.6.15(补) 链接 (luogu) 链接 (atcoder) abc 最水的 G 了吧。 你发现,你最后肯定全在在同一个点上不动,而且你一定可以在 n×m 回合内走到这个点,因此我们直接 dpi,x,y 表示走 i 步到 \((x 阅读全文
posted @ 2024-06-16 22:49 wangmarui 阅读(27) 评论(0) 推荐(0) 编辑

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