题意:

有n种纸币,已知每种纸币的面值和数量,求所能凑成的不超过cash的最大总面值。

分析:

这道题自己写了一下TLE了,好可耻。。

找了份比较简洁的代码抄过来了。。poj1276

 #include <cstdio>
#include <cstring> const int maxn = ;
const int maxp = + ; bool vis[maxp];//是否到达总面值i
int used[maxp];//到达总面值i时,该种纸币所用的数量
int a[maxn], b[maxn];//每种纸币的数量以及面值 int cash, n; int main()
{
//freopen("in.txt", "r", stdin); while(scanf("%d", &cash) == )
{
scanf("%d", &n);
for(int i = ; i < n; ++i) scanf("%d%d", &a[i], &b[i]); memset(vis, false, sizeof(vis));
vis[] = true;
for(int i = ; i < n; ++i)
{
memset(used, , sizeof(used));
for(int j = b[i]; j <= cash; ++j)
if(vis[j-b[i]] && !vis[j] && used[j-b[i]] < a[i])
{ vis[j] = true; used[j] = used[j-b[i]] + ; }
} for(int i = cash; i >= ; --i) if(vis[i]) { printf("%d\n", i); break; }
} return ;
}

代码君

POJ 1276 (多重背包) Cash Machine的更多相关文章

  1. Cash Machine POJ - 1276 多重背包二进制优化

    题意:多重背包模型  n种物品 每个m个  问背包容量下最多拿多少 这里要用二进制优化不然会超时 #include<iostream> #include<cstdio> #in ...

  2. poj 1276 多重背包

    735 3 4 125 6 5 3 350 //735的最大额,3种,4个125,6个5,3个350 633 4 500 30 6 100 1 5 0 1 735 0 0 3 10 100 10 50 ...

  3. Cash Machine POJ 1276 多重背包

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35387   Accepted: 12816 Description A B ...

  4. HDOJ-三部曲-多重背包-1014-Cash Machine

    通过这道题我基本了解了利用二进制对多重背包问题进行优化的思想. Cash Machine Time Limit: 1000MS   Memory Limit: 10000K Total Submiss ...

  5. poj 2392 多重背包

    题意:有几个砖,给出高度,能放的最大高度和数目,求这些砖能垒成的最大高度 依据lim排个序,按一层一层进行背包 #include<cstdio> #include<iostream& ...

  6. POJ 3260 多重背包+完全背包

    前几天刚回到家却发现家里没网线 && 路由器都被带走了,无奈之下只好铤而走险尝试蹭隔壁家的WiFi,不试不知道,一试吓一跳,用个手机软件简简单单就连上了,然后在浏览器输入192.168 ...

  7. poj 1742 多重背包

    题意:给出n种面值的硬币, 和这些硬币每一种的数量, 要求求出能组成的钱数(小于等于m) 思路:一开始直接用多重背包套上去超时了,然后就没辙了,然后参考网上的,说只需要判断是否能取到就行了,并不需要记 ...

  8. poj 1014多重背包

    题意:给出价值为1,2,3,4,5,6的6种物品数量,问是否能将物品分成两份,使两份的总价值相等. 思路:求出总价值除二,做多重背包,需要二进制优化. 代码: #include<iostream ...

  9. Dividing POJ - 1014 多重背包二进制优化

    多重背包模型  写的时候漏了一个等号找了半天 i<<=1 !!!!!! #include<iostream> #include<cstdio> #include&l ...

随机推荐

  1. MapInfo格式转arggis格式

    1. 下载MapInfo 11.0 2. 打开工具里的转换工具 3. 选择数据源和结果文件夹(目录中不能包含中文) 4. 转换成功.

  2. HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?

    // test02.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  3. TesserOCR训练

    1.CMD命令行进入 图片目录.运行: tesseract.exe testcode.tif testcode batch.nochop makebox 注意:上面的 testcode 名称 必须保持 ...

  4. 项目中libevent几个问题

    几个问题: .libevent到底用的是select还是iocp,然后是如何突破64限制的 typedef struct fd_set { u_int fd_count; /* how many ar ...

  5. vs2010中臃肿的ipch和sdf文件

    使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量, ...

  6. Checkbox框全选操作,form表单提交与jquery ajax提交两种处理方式

    //1.jquery ajax<script type="text/javascript"> $(function(){ var basePath = $(" ...

  7. 精华阅读第 9 期 |滴滴出行 iOS 客户端架构演进之路

    「架构都是演变出来的,没有最好的架构,只有最合适的架构!」最近,滴滴出行平台产品中心 iOS 技术负责人李贤辉接受了 infoQ 的采访,阐述了滴滴的 iOS 客户端架构模式与演变过程.李贤辉也是移动 ...

  8. Oracle/PLSQL: Creating Functions

    In Oracle, you can create your own functions. 译:在ORACLE中,你可以创建你自己的方法. The syntax for a function is: ...

  9. StringUtils.isNumeric使用

    在做导入/导出功能时,客户要求导出数字类型的值时,将excel相应单元格属性设为number型,由此需判断字符串值是否为数字,代码如下: public static boolean isNumber( ...

  10. SpringMVC学习总结(一)——SpringMVC入门

    摘要: Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求 ...