2016年1月6日

摘要: 多重背包问题。注意物品数可以为1#include#includeusing namespace std;int n,m,p[105],w[105],num[105];int t[1005],q[1005],cnt=0,dp[1005];int main(){ scanf("%d%d",&m,&n);... 阅读全文

posted @ 2016-01-06 20:33 ziliuziliu 阅读(109) 评论(0) 推荐(0) 编辑

摘要: 基本树型dp。dp[i][j]中i表示某人,j表示该人来了没来。转移方程见程序。注意预处理:先初始化所有dp[i][1]为给定的权值。先将没有下属的人进队。#include#include#include#includeusing namespace std;int n,r[6005],fath[6... 阅读全文

posted @ 2016-01-06 19:04 ziliuziliu 阅读(241) 评论(0) 推荐(0) 编辑

摘要: 感谢提供背包九讲的大大orzorz。。。。。其实把一个牵连背包问题转化成分组背包套(此题不需要)01背包即可。理由,作出的每种策略都是互斥的。这题我的代码很丑。。。。#include#include#include#includeusing namespace std;int v,m,w[65],p... 阅读全文

posted @ 2016-01-06 16:47 ziliuziliu 阅读(140) 评论(0) 推荐(0) 编辑

摘要: 考虑一个01背包即可。#include#include#includeusing namespace std;int v,m,w[30],p[30];int dp[50005];int main(){ scanf("%d%d",&v,&m); for (int i=1;i=w[i];j--) d... 阅读全文

posted @ 2016-01-06 14:19 ziliuziliu 阅读(121) 评论(0) 推荐(0) 编辑