解法

多重背包板子题

多重背包板子

如果上限的体积大于了给定的体积那么套完全背包

否则二进制优化成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相关推荐

  1. POJ 1276 Cash Machine

    很容易看出来是一个背包问题,开始把每一张钞票都跑了一遍01背包,直接TLE了. 其实就是多重背包模板题. 1 //#include <bits/stdc++.h> 2 #include & ...

  2. 【POJ】1276 Cash Machine 【背包问题】

    1 思路 多重背包问题,可以将其化为01背包问题. 若用一般方法必TLE(把n个第i种物品看成毫无关联的n个物品,即∑ ni i = 1,2-N个物品(N为物品数目)) 采用二进制思想,把n个第i种物 ...

  3. POJ 1276 ATM凑钱(动态规划)(未解答)

    文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. 代码 2.1 Accepted代码 1. 题目 1.1 题目链接 http://poj.org/problem?id= ...

  4. 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 ...

  5. poj 1276 多重背包

    #include <iostream> using namespace std; int cash, n, m[13], d[13]; int f[100100]; int money, ...

  6. zoj 1366 Cash Machine

    01背包加变形 动态规划的时候就犯浑了,每个状态都要记录的,我却只记录了当前状态的!! #include<stdio.h> #include<string.h> int max ...

  7. 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 ...

  8. Secret Milking Machine POJ - 2455

    点击打开链接 二分最大边 记为lim 不超过lim的边容量记为1 否则记为0 再抽象一个源点 从源点到1的容量为题目所给的t 然后以此建图 看是否满流 感觉网络流的抽象建图很关键 这道题看了别人的建图 ...

  9. 多重背包模板 C++

    多重背包模板 多重背包: 有N种物品和一个容量为V的背包.第i种物品最多有numi件可用. 每件物品的重量是wi,价值是vi. 求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最 ...

最新文章

  1. webscraper多页爬取_【实践】笔记_Chrome插件webscraper爬取天眼通数据
  2. python递归函数代码_Python递归函数
  3. SAP Spartacus CmsComponentConnector
  4. void 类型的指针
  5. 让Visual Studio 2013为你自动生成XML反序列化的类
  6. oracle修改filesystem,(转):oracle、filesystem、backup日常巡检脚本
  7. java+long是什么_Java中long的模运算符是什么? - java
  8. 域控下发脚本_域环境下做到单用户登陆控制脚本
  9. python语言程序设计 梁勇_计算机二级教程 Python语言程序设计,第9章Python标准库概览...
  10. myeclipse文档链接oracle,[数据库]MyEclipse 连接Oracle数据库(初学者必看)
  11. 汝跟被升职者之间,不存在竞争关系
  12. Raki的统计学习方法笔记0x2章:感知机
  13. 显示 think-cell 用户界面时出现错误
  14. SlideBox 间隔滚动效果
  15. 李佳琦如果直播卖保险,你敢不敢买?
  16. JavaScript if...else 语句
  17. 个人修改机智云apk之出现couldn‘t find “libSDKLog.so“错误导致机智云apk在真机上调试出现keeps stopping错误解决方法
  18. mac上chrome插件安装
  19. 鸿蒙系统的微内核是什么
  20. 云主机和电脑主机服务器有什么区别?

热门文章

  1. python-docx表格样式列表
  2. 浅入浅出数据结构(18)——希尔排序
  3. 浅析SQL SERVER执行计划中的各类怪相
  4. cut point and bridge总结
  5. 简短总结一下C#里跨线程更新UI
  6. 31个用来测试你网站各项性能的免费在线工具
  7. Mac远程服务器文件上传rz和sz的安装使用
  8. JavaScript学习(五十二)—继承、call方法和apply方法
  9. JavaScript学习(四十九)—构造方法、原型、对象图解
  10. python pandas series_Python数据分析-pandas之Series