P2871 [USACO07DEC]手链Charm Bracelet
来源:互联网 发布:宁波指动网络董事长 编辑:程序博客网 时间:2024/04/29 13:29
题目大意
有N件物品和一个容量为M的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。(1 ≤ N ≤ 3,402,1 ≤ M ≤ 12,880,1 ≤ Wi ≤ 400,1 ≤ Di ≤ 100)
这题显然是一个0-1背包,然后~~就没有然后了。
代码如下:
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;const int N=20000;int a[N],b[N],s[N];int main(){ int m,n,i,j; cin>>n>>m; for(i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]); for(i=1;i<=n;i++) for(j=m;j>=a[i];j--) if(s[j]<s[j-a[i]]+b[i]) s[j]=s[j-a[i]]+b[i]; cout<<s[m]; return 0;}
P.S.我才不会告诉你这题是P1048采药的升级版呢
0 0
- P2871 [USACO07DEC]手链Charm Bracelet
- P2871 [USACO07DEC]手链Charm Bracelet
- P2871 [USACO07DEC]手链Charm Bracelet 简单背包
- 洛谷P2871 [USACO07DEC]手链Charm Bracelet
- luogu2871 [USACO07DEC]手链Charm Bracelet
- #USACO 12.07 Charm Bracelet手链
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- Charm Bracelet
- AutoCAD 二次开发:获取填充边界
- 用C语言对移位加密进行改进
- 修改jupyter/ipython notebook 默认工作路径
- 用栈来实现计算器功能运算
- hive相关配置
- P2871 [USACO07DEC]手链Charm Bracelet
- oracle学习总结------procedure
- 微信小程序入门-新闻列表
- 注解:实现EmpBizImpl的bean类
- 数论(1)
- oracle学习总结-----package
- 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
- PAT-甲级-1019
- 注解:Hibernate通过实体类数据持久化