nyoj 311 完全背包
来源:互联网 发布:金山数据浏览小精灵 编辑:程序博客网 时间:2024/06/04 19:11
接下来每组测试数据的第一行有两个整数M,V。 M表示物品种类的数目,V表示背包的总容量。(0<M<=2000,0<V<=50000)
接下来的M行每行有两个整数c,w分别表示每种物品的重量和价值(0<c<100000,0<w<100000)
样例输入
2
1 5
2 2
2 5
2 2
5 1
样例输出
NO
1
完全背包问题,注意题中要恰好装满背包
要求恰好装满背包,那么在初始化时除了f[0]为0其它f[1..V]均设为-∞,
这样就可以保证最终得到的f[N]是一种恰好装满背包的最优解。
如果没有要求必须把背包装满,而是只希望价格尽量大,初始化时应该将f[0..V]全部设为0。#include<stdio.h>#include<iostream>#define x -0x3f3f3f3fusing namespace std;int main(){ int n,v,i,j,t; int a[2001],b[2001]; scanf("%d",&t); while(t--) { int dp[50010]= {0}; scanf("%d%d",&n,&v); for(i=1; i<=n; i++) scanf("%d%d",&a[i],&b[i]); for(i=1; i<=v; i++) dp[i]=x; for(i=1; i<=n; i++) for(j=a[i]; j<=v; j++) dp[j]=max(dp[j],dp[j-a[i]]+b[i]); if(dp[v]>0) printf("%d\n",dp[v]); else printf("NO\n"); } return 0;}
0 0
- NYOJ 311 完全背包
- nyoj-311-完全背包
- 完全背包(nyoj 311)
- NYOJ 311 完全背包
- NYOJ 311【完全背包】
- NYOJ 311 完全背包
- 完全背包 nyoj 311
- NYOJ 311 完全背包
- NYOJ 311 完全背包
- nyoj 311 完全背包
- NYOJ 311 完全背包
- NYOJ 311 完全背包
- NYOJ 311 完全背包
- NYOJ 311 完全背包
- NYOJ 311 完全背包
- nyoj 311 完全背包
- nyoj 311 完全背包
- nyoj 311 完全背包
- 【JDK】:ArrayList和LinkedList源码解析
- 【Java】JSP页面组成
- 阅读程序2
- poj 1823 Hotel
- 工作中用到的sh脚本(持续更新)
- nyoj 311 完全背包
- 107_ListView三个方法的抽取
- UIAutomator入门技巧
- 亿级Web系统搭建——单机到分布式集群
- FZU 2086 Redcarnation
- 遇到问题不会的时候就记下来,因为还有下次。
- hdu2845 Beans(DP)
- Qt 打包应用程序方法
- LeetCode Binary Tree Preorder Traversal