背包问题
YKY
这个作者很懒,什么都没留下…
展开
-
hdu 1059 Dividing
Dividing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8874 Accepted Submission(s): 2407 Problem Description Marsha and Bill o原创 2012-08-06 15:52:49 · 596 阅读 · 0 评论 -
吉哥系列故事——临时工计划
http://acm.hdu.edu.cn/showproblem.php?pid=4502 #include #include #include #include using namespace std; int main() { int i,j,s,n,e,m,dp[1010],var; vector c[1010]; vector w[1010]; int T; scanf(原创 2013-03-21 09:26:11 · 1403 阅读 · 0 评论 -
多重背包
/* 时间复杂度 O(VN) */ #include #include #include using namespace std; #define maxx 100010 int dp[maxx]; int ZeroOnepack(int cost ,int worth ,int v ) { for(int i=v;i>=cost;i--) dp[i]=max(dp[i],dp[i原创 2013-04-04 00:54:59 · 804 阅读 · 0 评论 -
湫湫系列故事——减肥记I<完全背包>
http://acm.hdu.edu.cn/showproblem.php?pid=4508 #include #include #include #include #include using namespace std; int cmp(int a,int b) { return a>b; } int main() { int n,m,i,j,dp[101000],c[110],var原创 2013-03-21 23:10:31 · 1715 阅读 · 0 评论 -
The more, The Better
给你一棵树,欲取子节点,必取父节点。问取的价值最多为多少。 简单树形背包,直接贴代码。 #include #include #include using namespace std; #define Maxn 300 vector e[Maxn]; int A[Maxn],B[Maxn]; int dp[Maxn][Maxn],vis[Maxn]; int ans; int n,m,cur[M原创 2013-08-05 15:26:56 · 850 阅读 · 0 评论 -
Pieces hdu 4628
每次可以去掉一个回文串,求最少几步能取完。 两种做法,一种是dp,一种是记忆化搜索。分别附上代码。 #include #include #include #include using namespace std; #define Maxn 1<<17 #define Inf 1<<17 int hash[Maxn],slen; char s[17]; int Judge(int n) {原创 2013-08-05 16:30:17 · 866 阅读 · 0 评论