HDU_2844_(多重背包)
Coins
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 13453 Accepted Submission(s): 5382
You are to write a program which reads n,m,A1,A2,A3...An and C1,C2,C3...Cn corresponding to the number of Tony's coins of value A1,A2,A3...An then calculate how many prices(form 1 to m) Tony can pay use these coins.
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; int val[],num[];
int dp[],m; int main()
{
int n;
while(~scanf("%d%d",&n,&m)&&(n+m))
{
memset(dp,,sizeof(dp));
//dp[0]=1;
int i;
for(i=; i<n; i++)
scanf("%d",&val[i]);
for(i=; i<n; i++)
scanf("%d",&num[i]);
for( i=; i<n; i++)
{
int j;
if(val[i]*num[i]>=m)
{
for( j=val[i];j<=m;j++)
dp[j]=max(dp[j],dp[j-val[i]]+val[i]);
continue;
}
int tmp=;
while(num[i]>=tmp)
{
for( j=m;j>=val[i]*tmp;j--)
dp[j]=max(dp[j],dp[j-val[i]*tmp]+val[i]*tmp);
num[i]-=tmp;
tmp=tmp<<;
}
for( j=m;j>=val[i]*num[i];j--)
dp[j]=max(dp[j],dp[j-val[i]*num[i]]+val[i]*num[i]);
}
int cnt=;
for(i=; i<=m; i++)
if(dp[i]==i)
cnt++;
printf("%d\n",cnt);
}
return ;
}
HDU_2844_(多重背包)的更多相关文章
- 洛谷P1782 旅行商的背包[多重背包]
题目描述 小S坚信任何问题都可以在多项式时间内解决,于是他准备亲自去当一回旅行商.在出发之前,他购进了一些物品.这些物品共有n种,第i种体积为Vi,价值为Wi,共有Di件.他的背包体积是C.怎样装才能 ...
- HDU 2082 找单词 (多重背包)
题意:假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50的 ...
- Poj 1276 Cash Machine 多重背包
Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26172 Accepted: 9238 Des ...
- poj 1276 Cash Machine(多重背包)
Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33444 Accepted: 12106 De ...
- (混合背包 多重背包+完全背包)The Fewest Coins (poj 3260)
http://poj.org/problem?id=3260 Description Farmer John has gone to town to buy some farm supplies. ...
- (多重背包+记录路径)Charlie's Change (poj 1787)
http://poj.org/problem?id=1787 描述 Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie dri ...
- 单调队列优化DP,多重背包
单调队列优化DP:http://www.cnblogs.com/ka200812/archive/2012/07/11/2585950.html 单调队列优化多重背包:http://blog.csdn ...
- POJ1742 Coins[多重背包可行性]
Coins Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 34814 Accepted: 11828 Descripti ...
- POJ1276Cash Machine[多重背包可行性]
Cash Machine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32971 Accepted: 11950 De ...
随机推荐
- C# 控制台程序如何输出Messagebox
1 添加如下引用 2 添加引用和Messagebox的代码. 3 测试可行
- cout 堆栈,operator<< 运算符重载输出问题
在C++中cout的输出流其中,有一些问题非常easy出错,就比方以下这道简单程序.看似简单.但却是一个值得深思的问题~~ #include <iostream> using namesp ...
- 字符串匹配之KMP算法(续)---还原next数组
相信通过今天的文章,你会对KMP的认识更加深入一层,不止停留在知道怎样计算的层面上了,废话不多说,開始. 通过前面的第一篇文章,知道了怎么求next数组,相信非常多喜欢刨根问底的人就会问,我依照你的做 ...
- CI知识:GitLab
Gitlab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的 ...
- .net Core使用Orcle官方驱动连接数据库 C#参考教程 http://www.csref.cn
.net Core使用Orcle官方驱动连接数据库 最近在研究.net Core,因为公司的项目用到的都是Oracle数据库,所以简单试一下.net Core怎样连接Oracle. Oracle官 ...
- CLR-基元类型以及溢出检查 (CLR-Via-C#) 类型基础
CLR-基元类型以及溢出检查 =========(CLR via C#阅读笔记)======== 基元类型(primitive type): 基元类型也不做过多的解释,举个例子即可清晰的辨别 在j ...
- 12.解决CCScale9Sprite或者CCControlButton无法使用的问题。
问题: 使用CCScale9Sprite或者CCControlButton等控件的时候,会出现无法识别的情况. 解决方式: 1.include对应的头部,即#include "cocos-e ...
- Cocos2d-x3.1下 Android,APK自己主动升级
项目要做Android的自己主动升级,对于我们之前做iOS的转Cocos开发做Android方面的功能..... 不正确说了.这里记录下我的实现过程. 原文地址:http://blog.csdn.ne ...
- c# 钩子
1.setWindowsHookex详解 http://blog.csdn.net/mmllkkjj/article/details/6627188 函数功能:该函数将一个应用程序定义的挂钩处理过程安 ...
- mongodb配置主从模式
Mongodb的replication主要有两种:主从和副本集(replica set).主从的原理和mysql类似,主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己 ...