Cash Machine POJ - 1276
解法
多重背包板子题
多重背包板子
如果上限的体积大于了给定的体积那么套完全背包
否则二进制优化成01背包
代码
#include <iostream>
#include <cstring>
using namespace std;
int dp[100005],m;
void zb(int v,int w)
{for(int i=m;i>=v;i--)dp[i]=max(dp[i],dp[i-v]+w);
}
void cb(int v,int w)
{for(int i=v;i<=m;i++)dp[i]=max(dp[i],dp[i-v]+w);
}
void mb(int v,int w,int n)
{if(v*n>=m){cb(v,w);return;}int k=1;while(k<n){zb(k*v,k*w);n-=k;k*=2;}zb(n*v,n*w);
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);while(cin>>m){int n;cin>>n;memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){int v,w,n;cin>>n>>v;mb(v,v,n);}cout<<dp[m]<<"\n";}
}
转载于:https://www.cnblogs.com/baccano-acmer/p/10244656.html
Cash Machine POJ - 1276相关推荐
- POJ 1276 Cash Machine
很容易看出来是一个背包问题,开始把每一张钞票都跑了一遍01背包,直接TLE了. 其实就是多重背包模板题. 1 //#include <bits/stdc++.h> 2 #include & ...
- 【POJ】1276 Cash Machine 【背包问题】
1 思路 多重背包问题,可以将其化为01背包问题. 若用一般方法必TLE(把n个第i种物品看成毫无关联的n个物品,即∑ ni i = 1,2-N个物品(N为物品数目)) 采用二进制思想,把n个第i种物 ...
- POJ 1276 ATM凑钱(动态规划)(未解答)
文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. 代码 2.1 Accepted代码 1. 题目 1.1 题目链接 http://poj.org/problem?id= ...
- POJ 1276 完全背包
Sample Input 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 10 10 Sample Ou ...
- poj 1276 多重背包
#include <iostream> using namespace std; int cash, n, m[13], d[13]; int f[100100]; int money, ...
- zoj 1366 Cash Machine
01背包加变形 动态规划的时候就犯浑了,每个状态都要记录的,我却只记录了当前状态的!! #include<stdio.h> #include<string.h> int max ...
- 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 ...
- Secret Milking Machine POJ - 2455
点击打开链接 二分最大边 记为lim 不超过lim的边容量记为1 否则记为0 再抽象一个源点 从源点到1的容量为题目所给的t 然后以此建图 看是否满流 感觉网络流的抽象建图很关键 这道题看了别人的建图 ...
- 多重背包模板 C++
多重背包模板 多重背包: 有N种物品和一个容量为V的背包.第i种物品最多有numi件可用. 每件物品的重量是wi,价值是vi. 求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最 ...
最新文章
- webscraper多页爬取_【实践】笔记_Chrome插件webscraper爬取天眼通数据
- python递归函数代码_Python递归函数
- SAP Spartacus CmsComponentConnector
- void 类型的指针
- 让Visual Studio 2013为你自动生成XML反序列化的类
- oracle修改filesystem,(转):oracle、filesystem、backup日常巡检脚本
- java+long是什么_Java中long的模运算符是什么? - java
- 域控下发脚本_域环境下做到单用户登陆控制脚本
- python语言程序设计 梁勇_计算机二级教程 Python语言程序设计,第9章Python标准库概览...
- myeclipse文档链接oracle,[数据库]MyEclipse 连接Oracle数据库(初学者必看)
- 汝跟被升职者之间,不存在竞争关系
- Raki的统计学习方法笔记0x2章:感知机
- 显示 think-cell 用户界面时出现错误
- SlideBox 间隔滚动效果
- 李佳琦如果直播卖保险,你敢不敢买?
- JavaScript if...else 语句
- 个人修改机智云apk之出现couldn‘t find “libSDKLog.so“错误导致机智云apk在真机上调试出现keeps stopping错误解决方法
- mac上chrome插件安装
- 鸿蒙系统的微内核是什么
- 云主机和电脑主机服务器有什么区别?