hdu 1114 Piggy-Bank (完全背包)
来源:互联网 发布:vmware os x 优化 编辑:程序博客网 时间:2024/04/29 09:48
题意:存钱罐可以往里面放一些价值小的钱,但是时间久了就不知道里面有多少钱了,除非你打破它。现在给出空罐子的重量和最满能装到多重,然后给出每种硬币的价值和重量,我们要在不打破它的情况下确认罐子里最少有多少钱。
for i 1~n;
for j w[i]~weight;
dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);
由于
http://blog.csdn.net/tbwood/article/details/22747215
这个大牛说过。当前状态至于上一个状态的当前位置和上一个状态的前一个位置有关,可以用一维数组。
dp[i]=max(dp[j],dp[j-w[i]]+v[i]);
#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int maxn = 10010;const int inf = 0x3f3f3f3f;int c[maxn];int v[maxn];int dp[maxn];int main(){ int T; cin>>T; while(T--) { int E,F; cin>>E>>F; int n; cin>>n; for(int i=1;i<=F-E;i++) dp[i]=inf; for(int i=1;i<=n;i++) cin>>c[i]>>v[i]; for(int i=1;i<=n;i++) { for(int j=v[i];j<=F-E;j++) { dp[j]=min(dp[j-v[i]]+c[i],dp[j]); } } if(dp[F-E]>=inf) cout<<"This is impossible."<<endl; else { printf("The minimum amount of money in the piggy-bank is %d.\n", dp[F-E]); } } }
0 0
- hdu 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank (完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- HDU 1114 Piggy-Bank(完全背包)
- HDU - 1114 - Piggy-Bank (完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- HDU 1114 Piggy-Bank(完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- HDU--1114 Piggy-Bank(完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- http server response 一览
- 利用栈实现中缀表达式转前缀表达式
- UITableView 做刷新或者分页时候出现的BUG
- Play框架的@OneToMany、@ManyToOne级联操作
- 2017--写在新年上班第一天
- hdu 1114 Piggy-Bank (完全背包)
- KVO 使用注意事项
- GitLab使用
- windows系统中显示文件的后缀名称方法
- 输出今年指定月份的日历
- 如何进行数据库设计
- 论文笔记: HADAMARD PRODUCT FOR LOW-RANK BILINEAR POOLING
- 富文本的使用-KindEditor
- 沙盒的介绍