POJ 1742 hdu 2844 Coins
题目链接:http://poj.org/problem?id=1742
http://acm.hdu.edu.cn/showproblem.php?pid=2844
题目分类:动态规划
代码:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm> using namespace std;
int n,m;
bool flag[]; struct P
{
int a,b; }point[]; int cmp(P X,P Y)
{
return X.a<Y.a;
} int main()
{
while(scanf("%d %d",&n,&m)&&(n+m))
{
memset(point,,sizeof(point));
memset(flag,,sizeof(flag)); for(int i=;i<=n;i++)
{
scanf("%d",&point[i].a);
}
for(int i=;i<=n;i++)
{
scanf("%d",&point[i].b);
}
sort(point+,point+n+,cmp);
int sum[]; flag[]=;
for(int i=;i<=n;i++)
{
memset(sum,,sizeof(sum));
for(int k=point[i].a;k<=m;k++)
{
if(flag[k-point[i].a]&&sum[k-point[i].a]<point[i].b&&!flag[k])
{
sum[k] = sum[k-point[i].a] + ;
flag[k] = ;
}
}
} int ans=;
for(int i=;i<=m;i++)
{
if(flag[i])
{
//printf("sss== %d\n",i);
ans++;
}
}
printf("%d\n",ans);
}
return ;
}
#include<bits/stdc++.h> using namespace std; bool dp[];
int TmpVal[];
int val[]; int main()
{
cin.sync_with_stdio(false);
cout.sync_with_stdio(false);
int n, m;
while(cin>>n>>m)
{
if(n== && m==)
break;
memset(dp, , sizeof(dp));
for(int i=;i<=n;i++)
cin>>TmpVal[i];
int N = ;
for(int i=;i<=n;i++)
{
int num;
cin>>num;
int j = 1;
while(j<=num)
{
val[++N] = TmpVal[i] * j;
num -= j;
j = (j<<1);
}
if(num)
{
val[++N] = TmpVal[i] * num;
}
}
dp[0] = 1;
for(int i=;i<=N;i++)
{
for(int j=m;j>=val[i];j--)
{
if(dp[j-val[i]])
dp[j] = ;
}
}
int ans = ;
for(int i=;i<=m;i++)
if(dp[i])
ans++;
printf("%d\n", ans);
}
return ;
}
POJ 1742 hdu 2844 Coins的更多相关文章
- 背包系列练习及总结(hud 2602 && hdu 2844 Coins && hdu 2159 && poj 1170 Shopping Offers && hdu 3092 Least common multiple && poj 1015 Jury Compromise)
作为一个oier,以及大学acm党背包是必不可少的一部分.好久没做背包类动规了.久违地练习下-.- dd__engi的背包九讲:http://love-oriented.com/pack/ 鸣谢htt ...
- HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化)
HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化) 题意分析 先把每种硬币按照二进制拆分好,然后做01背包即可.需要注意的是本题只需要求解可以凑出几种金钱的价格,而不需要输出种数 ...
- HDU 2844 Coins (多重背包计数 空间换时间)
Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- hdu 2844 Coins (多重背包)
题意是给你几个数,再给你这几个数的可以用的个数,然后随机找几个数来累加, 让我算可以累加得到的数的种数! 解题思路:先将背包初始化为-1,再用多重背包计算,最后检索,若bb[i]==i,则说明i这个数 ...
- hdu 2844 Coins (多重背包+二进制优化)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844 思路:多重背包 , dp[i] ,容量为i的背包最多能凑到多少容量,如果dp[i] = i,那么代表 ...
- hdu 2844 Coins
Coins Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted S ...
- hdu 2844 coins(多重背包 二进制拆分法)
Problem Description Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. On ...
- hdu 2844 Coins 多重背包(模板) *
Coins Time Limit: 2000/1 ...
- HDU 2844 Coins(多重背包)
点我看题目 题意 :Whuacmers有n种硬币,分别是面值为A1,A2,.....,An,每一种面值的硬币的数量分别是C1,C2,......,Cn,Whuacmers想买钱包,但是想给人家刚好的钱 ...
随机推荐
- 真机iOS SDK升级后xcode不能进行真机调试 怎么办
今天升级了一下iPod的SDK到iOS8,xcode仅仅能支持到7.1,真机调试遇到问题???以下是解决的方法! 找到xcode,点击右键.打开显示包内容,按路径Contents/Develpoer/ ...
- Android圆环形颜色选择器:HoloColorPicker
HoloColorPicker实现圆环形颜色选择器,可以改变颜色饱和度来选择颜色.选择颜色时,可以用手指沿着圆环滑动一个滑块,从而选择颜色. 添加以下XML至你的布局中: ? 1 2 3 4 < ...
- 【笔记】《通俗详细地讲解什么是P和NP问题》的概念记录
1问题规模: 要计算或解决一个问题,该问题通常有一个大小规模,用n表示. 2算法的时间复杂度 计算次数与n的关系函数.(因为计算次数隐含时间). 3多项式时间复杂度 所有形如a*n^k+b*n^(k- ...
- 用python -i写交互式shell
cabinet是公司的一个数据存储服务,需要添加一个shell client,查看数据,做简单操作. 用python写了一个比想象的简单.代码如下: #! /usr/bin/python -i # c ...
- C++智能指针的实现
说起智能指针,不少人都不陌生.比方auto_ptr.shared_ptr.unique_ptr.weak_ptr. 依据shared_ptr的功能,自己仿造也实现了个. 对于shared_ptr这样的 ...
- Linux Kbuild工作原理分析(以DVSDK生成PowerVR显卡内核模块为例)
一.引文 前篇博文<Makefile之Linux内核模块的Makefile写法分析>,介绍了Linux编译生成内核驱动模块的Makefile的写法,但最近在DVSDK下使用Linux2.6 ...
- Eclipse用法和技巧五:生成说明文档2
上面一篇文章里面我们介绍了一种生成可以被JDK提取到,生成JavaDoc的添加注释方法.下面再补充一种生成这种注释的方法,上图: 步骤一:光标移动到需要添加注释的语句旁边,快捷键:shift + al ...
- 云计算Docker全面项目实战(Maven+Jenkins、日志管理ELK、WordPress博客镜像)
2013年,云计算领域从此多了一个名词“Docker”.以轻量著称,更好的去解决应用打包和部署.之前我们一直在构建Iaas,但通过Iaas去实现统一功 能还是相当复杂得,并且维护复杂.将特殊性封装到 ...
- [Boost基础]并发编程——asio网络库——定时器deadline_timer
asio库基于操作系统提供的异步机制,采用前摄器设计模式(Proactor)实现了可移植的异步(或者同步)IO操作,而且并不要求使用多线程和锁定,有些的避免了多线程编程带来的诸多有害副作用(如条件竞争 ...
- Re-installation failed due to different application signatures.
出现此问题是由于apk的签名不同所致(假设不知道签名是什么 请看上一篇Android应用程序签名 debug签名).假设你是使用的自己的签名,那就是你新版本号的apk使用的签名文件与上一版本号(也就 ...