博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1742 Coins DP 01背包
阅读量:5875 次
发布时间:2019-06-19

本文共 1696 字,大约阅读时间需要 5 分钟。

dp[i][j]表示前i种硬币中取总价值为j时第i种硬币最多剩下多少个,-1表示无法到达该状态。

a.当dp[i-1][j]>=0时,dp[i][j]=ci;

b.当j-ai>=0&&dp[i-1][j-ai]>0时,dp[i][j]=dp[i-1][j-ai]-1;

c.其他,dp[i][j]=-1

Source CodeProblem: 1742        User: BManMemory: 1112K        Time: 1547MSLanguage: G++        Result: AcceptedSource Code//#pragma comment(linker, "/STACK:1024000000,1024000000")#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair
pii;#define pb(a) push(a)#define INF 0x1f1f1f1f#define lson idx<<1,l,mid#define rson idx<<1|1,mid+1,r#define PI 3.1415926535898template
T min(const T& a,const T& b,const T& c) { return min(min(a,b),min(a,c));}template
T max(const T& a,const T& b,const T& c) { return max(max(a,b),max(a,c));}void debug() {#ifdef ONLINE_JUDGE#else freopen("d:\\in1.txt","r",stdin); freopen("d:\\out1.txt","w",stdout);#endif}int getch() { int ch; while((ch=getchar())!=EOF) { if(ch!=' '&&ch!='\n')return ch; } return EOF;}const int maxn=105;const int maxm=100005;int c[maxn],a[maxn];int dp[maxm];int main(){ //freopen("data.in","r",stdin); int n,m; while(cin>>n>>m) { if(n&&m);else break; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>c[i]; memset(dp,-1,sizeof(dp)); dp[0]=0; for(int i=1;i<=n;i++) { for(int j=0;j<=m;j++) { if(dp[j]>=0) dp[j]=c[i]; else if(j>=a[i]&&dp[j-a[i]]>0) dp[j]=dp[j-a[i]]-1; } } int cnt=0; for(int i=1;i<=m;i++) if(dp[i]>=0) cnt++; cout<
<
View Code

 

转载于:https://www.cnblogs.com/BMan/p/3680683.html

你可能感兴趣的文章
CSS魔法堂:Transition就这么好玩
查看>>
【OpenStack】network相关知识学习
查看>>
centos 7下独立的python 2.7环境安装
查看>>
[日常] 算法-单链表的创建
查看>>
前端工程化系列[01]-Bower包管理工具的使用
查看>>
使用 maven 自动将源码打包并发布
查看>>
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
飞秋无法显示局域网好友
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>
Boost在vs2010下的配置
查看>>
android camera(四):camera 驱动 GT2005
查看>>
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
查看>>