背包
yxr0105
这个作者很懒,什么都没留下…
展开
-
poj1947 Rebuilding Roads 树形dp 背包
poj1947 Rebuilding Roads 题目大意:求树上隔离出k个点的最少删除的边数。n,k<=150 空间限制30000k 题解: (看了网上的题解大雾了一天TAT) (但是当你一旦弄明白后发现卧槽他们说的好对啊哭晕QAQ) 首先这样想 dp[i,j] 表示以i为根节点的子树剩余j个节点删除的最多的边数 这样 相当于分组背包(当时一直不明白QAQ蠢) dp[i,j]有son[i原创 2016-01-28 15:09:20 · 420 阅读 · 0 评论 -
poj2486 Apple Tree 树上分组背包
题目大意:求遍历k个几点权值和的最大值 (n<=200) 空间限制65536K 扶额 这么一算n^3空间是可以的啊……怎么会MLE…… 好吧 改成二维的 用三维的写题解 好理解 dp[i][j][0][cnt] : i的子树走j步回到i用前cnt个分组(son)的最大权值 dp[i][j][1][cnt] : i的子树走j步不回到i用前cnt个分组(son)的最大权值 dp[i][j][0原创 2016-05-04 10:03:05 · 633 阅读 · 0 评论 -
分组背包及树上分组背包
【人生相关】好困啊QAQ 小伙伴们明天都去APIO了 当初脑残没报名= = 蛮后悔的= = 但想想2800rmb 也就还好了 美好的一天从一道树形dp开始 昨天看了下以前写的分组背包 树形dp 分组背包是说有n组物品 每个组别只能选一个 体积限制V 的最大价值w 先考虑二维://f[i][j] 表示 前i组体积为j的最大价值 //j k 循环可颠倒 for(int i=1;i<=N;i++)原创 2016-05-04 09:52:48 · 1128 阅读 · 0 评论