![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
firstorloser
这个作者很懒,什么都没留下…
展开
-
hdu 1114 Piggy-Bank (完全背包)
题目大意:给你一个存钱罐,n种类型的硬币,原创 2014-07-28 20:46:21 · 293 阅读 · 0 评论 -
hdu 1011 Starship Troopers (树形dp+背包)
树形dp加泛化背包,状态转移方程dp[u][j]=max(dp[u][j],dp[v][k]+dp[u][j-k]),有很多细节需要注意,叶子节点就算没有bug也要留人,还有m=0的特殊情况。#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define N 105原创 2015-03-28 15:56:55 · 289 阅读 · 0 评论 -
hdu 1561 The more, The Better (树形dp+背包)
设dp[u][j]为以u为根的子树,选取了j个点所能取得的最大价值,状态转移方程dp[u][j]=max(dp[u][j],dp[u][j-k]+dp[v][k])#include #include#include#include#includeusing namespace std;vectoredge[205];int w[205],dp[205][205],sum原创 2015-03-25 19:52:09 · 235 阅读 · 0 评论 -
hdu 3593 The most powerful force (树形dp+背包)
#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define N 100005using namespace std;int n,g,c[N],val[N],dp[505][10005];vector<int>edge[N];void dfs(int u,int vol){ in原创 2015-03-29 23:12:18 · 310 阅读 · 0 评论 -
poj 1947 Rebuilding Roads (树形dp+背包)
定义dp[u][j]为以u为根的子树,形成含有j个点的独立的子树所需要切的最少的边。对于每个节点,考虑它的每个儿子是否要切掉,初始时dp[u][1]=0,这时还没有考虑任何的儿子节点,所以不用切边。然后依次考虑每个儿子节点,若该儿子节点要切掉,则dp[u][j]++,否则dp[u][j]=dp[v][k]+dp[u][j-k]#include#include#include原创 2015-03-24 18:46:28 · 255 阅读 · 0 评论