dp
Mr_Poisonous
这个作者很懒,什么都没留下…
展开
-
[NOIP2003]区间dp-加分二叉树
题目描述见luogu https://www.luogu.org/problem/show?pid=1040是很明显的区间dp 我企图用平行四边形优化 未遂 因为我区间dp不是很熟 所以把这道题摆上来 是一道很好的模板题 其中用d[i][j]记录切点也给二叉树的遍历提供了不错的例子 需要注意的点都在代码里注释了 f[i][j]=f[i][k-1]*f[k+1][j]+a[k]#inclu原创 2017-06-28 16:53:30 · 376 阅读 · 0 评论 -
POJ1185-状态压缩dp
有了poj3254的基础后,这道题实际上是一道很基础的状态压缩dp,听说是acm??感觉不难啊??? 大体做法和poj3254相同 这是我写的poj3254的题解 自认为我的代码是网上能找到的最简单(最幼稚)的。#include<cstdio> #include<algorithm> #include<iostream> #include<cstring> using namespace st原创 2017-07-20 16:26:10 · 321 阅读 · 0 评论 -
poj3254-二进制状态压缩
第一次接触二进制状态压缩 感觉很玄学很厉害 这里是原题 这里是我当时看的题解 题目大意:有n*m(1<=n,m<=12)的矩形草场 能放牛地方用1表示 不能的地方用0表示 两头牛不能挨着 求有多少种放牛方法(放0头牛也算一种方法) 嗷我翻译的好垃圾 很明显是一道dp题 dp[i][j] i为第几行 j为草场状态(如:100011101) 可以将草场状态看作二进制 然后用int 表示原创 2017-07-18 14:57:13 · 419 阅读 · 0 评论 -
树形DP例题整理
与普通dp类似,但是状态遍历不能简单的++i,而应该按由儿子到父亲的顺序完成。可以通过DFS递归完成,也可以按DFS(BFS)序从大到小完成,以保证先完成儿子再完成父亲。例题一 皇宫看守 tyvj_3384/vijos_1144 每个节点有三个状态 f[i][0]代表i子树全都被染色的代价,由每个儿子的min(0,2)转移而来,且有一个儿子必须为2; f[i][1]代表i子树(不包括i)全部被染原创 2017-08-17 17:40:56 · 601 阅读 · 0 评论 -
洛谷 P1021 邮票面值设计-简单搜索+dp
是一道很基础的搜索题啊。 但是我对这种简单搜索的练习真的比较少,大多是图上搜索,所以写了这道题的题解。题目传送门怎么说呢,就是 从1到k 暴力枚举每种邮票的面值,到k+1时更新答案。 唯一需要好好想想的就是 每次枚举面值的上界和下界。 下界是 上一枚邮票的面值+1,上界是前几枚邮票能组成的MAX面值+1。因为如果这枚邮票面值为MAX+2,很明显MAX+1的总面值不能被组成。至于代码.. 参原创 2017-09-17 10:04:37 · 695 阅读 · 0 评论