码迷,mamicode.com
首页 >  
搜索关键字:依赖背包    ( 35个结果
hdu4003
/*依赖背包的通常做法就是对于每个结点,先处理处其所有子节点的dp,然后对于当前结点进行分组背包dp即可 还是依赖背包问题,dp[i][j]表示结点i的子树用了j个机器人的搜索代价 边界条件,如果某个结点的子树用了0个机器人,那么搜索这个棵子树的代价是边权和*2 将每个结点子树中的机器人看做物品体积... ...
分类:其他好文   时间:2019-01-26 23:41:38    阅读次数:190
hdu1561 树形dp,依赖背包
多重背包是某个物品可以选择多次,要把对物品数的枚举放在对w枚举外面 分组背包是某组的物品只能选一个,要把对每组物品的枚举放在对w枚举内侧 依赖背包是多层的分组背包,利用树形结构建立依赖关系,每个结点都可以看做分组背包来做 ...
分类:其他好文   时间:2019-01-26 12:32:34    阅读次数:186
sdoi2017苹果树
题解: 没有免费操作我都不会$nk$。。。。 树上有依赖背包问题的正确做法是(为啥我之前学的不是这样的啊) 直接dfs下去维护背包 而不是对每个点求一次$f[i][j]$ 这样是$n*k^2$ 前者不管是多重背包还是0/1背包 复杂度都是$nk$的(单调队列优化) 然后考虑有一条链是免费的操作 ...
分类:移动开发   时间:2018-12-03 11:59:11    阅读次数:234
P4099 [HEOI2013]SAO
链接 "P4099 [HEOI2013]SAO " 如果真的把这个题当作图去做就炸了……还是考虑树怎么做。 因为这个不是选父亲才能选子树,他是树型依赖背包的升级版,存在选子树才能选父亲的情况。 设$f_{i,j}$表示$i$节点的子树,$i$号节点在这个子树的拓扑位置为$j$的方案数。 这样的好处在 ...
分类:其他好文   时间:2018-10-25 21:42:25    阅读次数:178
[HAOI 2010]软件安装
题意:求个树形依赖背包 思路:对于环用tarjan缩点即可。 c++ include using namespace std; const int maxn = 2010; struct edge{ int to; int nxt; }edge[maxn]; int w[maxn]; int v[m ...
分类:其他好文   时间:2018-08-04 20:25:22    阅读次数:148
树形依赖背包的优化方法
树形依赖背包问题 每个点有个权值和体积,如果选了某个点那么它的父亲也必须选,问体积和<=m的最大权值和。 如果体积都为1,那么直接做是$n^2$的。 否则是$nm^2$的。 我们考虑求出树的后序遍历,那么对于$i$这棵子树,它在后序遍历上是连续一段,并且$i$在最后。 考虑$i$选还是不选,如果选的 ...
分类:其他好文   时间:2018-03-04 19:56:42    阅读次数:176
2018.02.06(背包专卖店)
2018.02.06 背包专卖店系列 今天我们学习了背包问题,浏览了一个规模宏大的背包专卖店。。。领略了许许多多的背包。 01背包 完全背包 多重背包 混合背包 部分背包 二维费用背包 分组背包 有依赖背包 1. 01背包 思路:。。。 核心代码: 1 #include <stdio.h> 2 #i ...
分类:其他好文   时间:2018-02-06 18:08:01    阅读次数:203
BZOJ4910 : [Sdoi2017] 苹果树
问题等价于树形依赖背包,允许一条链每个点各免费一次。 设$f[i][j]$表示按DFS序考虑到$i$,体积为$j$的最大收益。 先放入不能免费的物品,等遍历完儿子后再放入必选的物品,那么$i$到根路径上所有点都只算了不能免费的部分。 然后将DFS序翻转,设$h[i][j]$表示按DFS序考虑到$i$ ...
分类:移动开发   时间:2017-11-16 11:52:24    阅读次数:196
bzoj4753: [Jsoi2016]最佳团体(分数规划+树形依赖背包)
菜菜推荐的“水题”虐了我一天T T...(菜菜好强强qwq~ 显然是个分数规划题,二分答案算出p[i]-mid*s[i]之后在树上跑依赖背包,选k个最大值如果>0说明还有更优解。 第一次接触树形依赖背包,所以之前写的十几发WA和TLE都是错误写法,我还是naive啊T T 树形依赖背包的普遍做法是按 ...
分类:Web程序   时间:2017-10-19 10:32:49    阅读次数:231
hdu 3449 Consumer (依赖01背包)
题目: 链接:点击打开链接 题意: 思路: dp[i][j]表示前i个箱子装j钱的材料可以得到的最大价值。 代码: #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define MAXN 1000 ...
分类:其他好文   时间:2017-06-06 22:07:55    阅读次数:165
35条   上一页 1 2 3 4 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!