博客
关于我
bzoj 1531: [POI2005]Bank notes
阅读量:260 次
发布时间:2019-03-01

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

题意:

Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有n种面值的硬币,面值分别为b1, b2,…, bn. 但是每种硬币有数量限制,现在我们想要凑出面值k求最少要用多少个硬币。

题解:

多重背包+单调队列裸题。

空间开小一百倍调一晚上
code:

#include
#include
#include
#include
using namespace std;const int inf=1061109567;int n,b[210],c[210],k,f[20010],g[20010],q[3][20010],st,ed;void ins(int x){ for(int i=0;i
f[j]-(j-i)/b[x]) ed--; q[1][++ed]=(j-i)/b[x];q[2][ed]=f[j]-q[1][ed]; f[j]=min(f[j],q[1][ed]+q[2][st]); } }}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&b[i]); for(int i=1;i<=n;i++) scanf("%d",&c[i]); scanf("%d",&k); for(int i=1;i<=k;i++) f[i]=inf; for(int i=1;i<=n;i++) ins(i); printf("%d\n",f[k]);}

转载地址:http://taza.baihongyu.com/

你可能感兴趣的文章
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>
MySQL 的存储引擎有哪些?为什么常用InnoDB?
查看>>
mysql 索引
查看>>
MySQL 索引失效的 15 种场景!
查看>>
MySQL 索引深入解析及优化策略
查看>>
MySQL 索引的面试题总结
查看>>
mysql 索引类型以及创建
查看>>
MySQL 索引连环问题,你能答对几个?
查看>>
Mysql 索引问题集锦
查看>>
Mysql 纵表转换为横表
查看>>
mysql 编译安装 window篇
查看>>
mysql 网络目录_联机目录数据库
查看>>