poj1742硬币——多重背包可行性
题目:http://poj.org/problem?id=1742
贪心地想,1、如果一种面值已经可以被组成,则不再对它更新;
2、对于同一种面值的硬币,尽量用较少硬币(一个)更新,使后面可以用更多此面值硬币。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,a[],c[],m,used[],ans;
bool f[];
int main()
{
while(scanf("%d%d",&n,&m)==)
{
if(!n&&!m)return ;
memset(f,,sizeof f);
ans=;
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
for(int i=;i<=n;i++)
scanf("%d",&c[i]);
f[]=;
for(int i=;i<=n;i++)
{
memset(used,,sizeof used);//!!!
for(int j=a[i];j<=m;j++)
{
if(!f[j]&&f[j-a[i]]&&used[j-a[i]]<c[i])
f[j]=,used[j]=used[j-a[i]]+;
}
}
for(int i=;i<=m;i++)
if(f[i])ans++;
printf("%d\n",ans);
}
return ;
}
poj1742硬币——多重背包可行性的更多相关文章
- 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 ...
- $POJ1742\ Coins$ 多重背包+贪心
Vjudge传送门 $Sol$ 首先发现这是一个多重背包,所以可以用多重背包的一般解法(直接拆分法,二进制拆分法...) 但事实是会TLE,只能另寻出路 本题仅关注“可行性”(面值能否拼成)而不是“最 ...
- hdu2844 & poj1742 Coin ---多重背包--两种方法
意甲冠军:你有N种硬币,每个价格值A[i],每个号码C[i],要求. 在不超过M如果是,我们用这些硬币,有多少种付款的情况下,.那是,:1,2,3,4,5,....,M这么多的情况下,,你可以用你的硬 ...
- 【DP|多重背包可行性】POJ-1014 Dividing
Dividing Time Limit: 1000MS Memory Limit: 10000K Description Marsha and Bill own a collection of mar ...
- poj1742(多重背包分解+01背包二进制优化)
Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...
- POJ1014Dividing[多重背包可行性]
Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 68769 Accepted: 17955 Descri ...
- POJ1742:Coins(多重背包)
Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...
- POJ 1742 Coins 【多重背包DP】
题意:有n种面额的硬币.面额.个数分别为A_i.C_i,求最多能搭配出几种不超过m的金额? 思路:dp[j]就是总数为j的价值是否已经有了这种方法,如果现在没有,那么我们就一个个硬币去尝试直到有,这种 ...
随机推荐
- python etree解析xml
# -*- coding:utf-8 -*- #conding:utf-8 __author__ = 'hdfs' ''' 简洁 高效 明了 ElementTree轻量级的 Python 式的 API ...
- emacs 简记
简介 Emacs作为神的编辑器,不用介绍了吧,说点感受. 用了一段时间了,总体感觉其实Emacs是很简单的,甚至比vim还简单,因为在X环境下,打开后可以就像记事本一样使用.但是,使用Emacs的人一 ...
- Swiftl优秀的特性
Swift语言在吸收诸多优秀语言如java.c++,Python之后.提供给开发人员大量优秀的特性. 以下我列举一下,swift一些优秀的特性: 1.函数使用经典的圆括号和点调用语法 2.函数标签特性 ...
- [转] 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
转自:http://blog.csdn.net/freshlover/article/details/11579669 Ⅰ.绝对定位居中(Absolute Centering)技术 我们经常用marg ...
- wait() 区别 sleep()
wait() notify() notifyAll() wait和notify方法必须写在synchronized方法内,即在调用wait和notify方法前,需先获得对象锁: 调用wait方法则释放 ...
- 一些重要的地址:md5在线解密破解
md5在线解密破解:https://www.cmd5.com/
- windows10怎样关闭,开机启动项中不需要的应用?
1.点击"Window"键,输入"设置",双击''设置'',进入设置界面. 2.在设置界面中,点击"启动",然后就可以设置,关闭哪些是我们不 ...
- split_brain
脑裂 系统中两个或多个部分开始独立工作
- [TroubleShooting]Neither the partner nor the witness server instance for database is availble
Problem: You are trying to setup a mirroring on a Database called xxxDB(SQL server 2012). You are ge ...
- org.apache.catalina.Lifecycle
org.apache.catalina.Lifecycle start() * ----------------------------- * | ...