DP
DP
weixin_46304837
这个作者很懒,什么都没留下…
展开
-
洛谷P2831 NOIP2016 愤怒的小鸟
洛谷P2831 NOIP2016 愤怒的小鸟题目思路一些小问题精度:抛物线解析式:tips:代码我的(1.cpp)自测程序(compare.cpp)题目传送门思路个人感觉我的思路并不是很优m貌似没什么用(可能是部分分),直接忽略但是看到n最大才去到18,不是状压就是爆搜,我采用的是DFS维护状压DP的转移(其实有点像记忆化搜索)注意:为了方便状压,以下小猪的编号从0~n-1设状态k二进制下第i为表示:第i只小猪的消灭情况0:没消灭,1:消灭,f[k]表示状态为k时最少用的小鸟数量状态转移:原创 2020-11-06 09:22:25 · 96 阅读 · 0 评论 -
双路DP:洛谷P1006 传纸条
双路DP:洛谷P1006 传纸条题目思路代码题目传送门思路经典的双路DP,问题看成有两个人,从左上走到右下,除了起点/重点外,路径不重合,求两个人经过的点的权值之和最大值设f [p] [i] [j]表示当前走了p步,第一个人走到第i行,第二个人走到第j行,除起点外路径不重合的条件下,权值之和的最大值显然,通过p,i,j,我们是可以求出当点两个人的坐标的(因为只能向右或向下走):(i,p-i+1),(j,p-j+1)则状态转移:f[p][i][j]=max{max{f[p−1][i−1][原创 2020-11-05 10:28:32 · 99 阅读 · 0 评论 -
洛谷P1040 加分二叉树
洛谷P1040 加分二叉树题目分析代码题目https://www.luogu.com.cn/problem/P1040分析这题看透了这题的情况下这题应该不难,关键就在“中序遍历为(1,2,3,…n)”,这就意味着一段连续的区间[l,r],以root为根节点,那么左子树就由[l,root-1]组成,右子树由[root+1,r]组成,这样,状态转移方程就很好推了。代码#include <iostream>#include <cstdio>using namespace原创 2020-10-17 23:34:30 · 102 阅读 · 0 评论 -
背包类树形DP-洛谷P2014 [CTSC1997]选课
背包类树形DP-洛谷P2014 [CTSC1997]选课背包类树形DP例题思路代码注:本文章参考《算法竞赛 进阶指南》(李煜东2018年1月第一版P291~292),引用文本均摘自该书背包类树形DP又称树形有依赖的背包问题。实际上是背包和树形DP结合。除了以“节点编号”作为树形DP的阶段,通常我们也像线性DP一样,吧当前背包的“体积”作为第二维状态。在状态转移时,我们要处理的实际上就是一个分组背包问题。另外,还可以按照“左儿子右兄弟”的方法,把多叉树转化为二叉树,再进行计算例题链接:http原创 2020-10-15 22:06:57 · 108 阅读 · 0 评论 -
SSLOJ 1497.KC的瓷器porcelain
SSLOJ 1497.KC的瓷器porcelain题目题目描述输入输出样例说明思路反思代码比赛代码(已改)AC代码题目题目描述KC来到了一个盛产瓷器的国度。他来到了一位商人的店铺。在这个店铺中,KC看到了一个有n(1<=n<=100)排的柜子,每排都有一些瓷器,每排不超过100个。那些精美的艺术品使KC一下心动了,决定从N排的商品中买下m(1<=m<=10000)个瓷器。这个商人看KC的脸上长满了痘子,就像苔藓一样,跟精美的瓷器相比相差太多,认为这么精致的艺术品被这样的人买走原创 2020-08-19 16:11:28 · 106 阅读 · 0 评论