POJ 1276 Cash Machine
来源:互联网 发布:linux基础及应用第二版 编辑:程序博客网 时间:2024/06/05 12:06
Description
A Bank plans to install a machine for cash withdrawal. The machine is able to deliver appropriate @ bills for a requested cash amount. The machine uses exactly N distinct bill denominations, say Dk, k=1,N, and for each denomination Dk the machine has a supply of nk bills. For example,
N=3, n1=10, D1=100, n2=4, D2=50, n3=5, D3=10
means the machine has a supply of 10 bills of @100 each, 4 bills of @50 each, and 5 bills of @10 each.
Call cash the requested amount of cash the machine should deliver and write a program that computes the maximum amount of cash less than or equal to cash that can be effectively delivered according to the available bill supply of the machine.
Notes:
@ is the symbol of the currency delivered by the machine. For instance, @ may stand for dollar, euro, pound etc.
【题目分析】
单调队列优化动态规划,无需记录单调队列,只需要记录一下最近的解就可以了。
【代码】
#include <cstdio>#include <iostream>#include <cstring>bool dp[11][100001];using namespace std;int main(){ int n,m,t,v,p; while (cin>>m>>n) { memset(dp,0,sizeof dp); dp[0][0]=true; for (int i=1;i<=n;++i) { cin>>t>>v; for (int j=0;j<v;++j) { p=-0x3f3f3f3f; for (int k=0;k*v+j<=m;++k) { if (k-p<=t) dp[i][k*v+j]|=dp[i-1][p*v+j]; dp[i][k*v+j]|=dp[i-1][k*v+j]; if (dp[i-1][k*v+j]) p=k; } } } for (int i=m;;--i) if (dp[n][i]) { cout<<i<<endl; break; } }}
- poj 1276 Cash Machine
- poj 1276 Cash Machine
- poj 1276Cash Machine
- POJ 1276 Cash Machine
- poj 1276 Cash machine
- poj 1276 Cash Machine
- poj 1276 Cash Machine
- POJ 1276 Cash Machine
- POJ 1276 Cash Machine
- POJ 1276 Cash Machine
- poj 1276 Cash Machine
- POJ-1276Cash Machine
- POJ 1276 cash machine
- POJ 1276 Cash Machine
- POJ 1276 Cash Machine
- POJ 1276 Cash Machine
- POJ 1276 Cash Machine
- POJ-1276-Cash Machine
- wordpress 获取文章作者相关信息标签代码汇总
- ue4插件开发
- 数据结构----树状数组
- childNodes与nodeValue
- matlab中小数如何取整?
- POJ 1276 Cash Machine
- 线程和信号
- 网易招聘面试题
- 内置管理员账户无法打开
- 肤色人脸年龄手势等数据库收集(更新中)
- poj 3349 Snowflake Snow Snowflakes
- 虚基类的作用
- SQL的几种连接查询
- poj3159 Candies