该怎样去思考?

1)有n种物品,

2)每选一种都要多加上10件,

3)每种物品有件数要求,也可选价格更高的代替,

问:求最少的耗费

如果暂时忽略掉条件2)3)的价格替换;那么装化为多重背包问题?

1.背包问题:

1)容量为总个数,且必须装满;

2)每件物品权值均为1;

2.从具体问题分析:主要是在选和不选上浪费那10个额外的物品的钱,如果没有这个条件的话,那当然是尽量选钱数少的,也就是优先选满钱数少的,但现在有了这个条件,主要分有还是没有这个额外的钱数,也就是选和不选的问题,也就是把每种物品总个数捆绑成一个总物体代替,转化成0-1背包问题

由于一旦某处选了,则之前的必然全部选完,所以只需每次枚举上一次的选择点,取最优值即可,O(n^2)

【源程序】

#include <cstdio>
#include <cstring>
#define Max(a,b) (a)>(b)?(a):(b)
#define Min(a,b) (a)<(b)?(a):(b)
#define INF 1000000int dp[1001],Cost[1001],Count[1001],Count1[1001];int main(){//freopen("iofile\\input.txt","r",stdin);int T,n,i,j,k;scanf("%d",&T);while(T--){scanf("%d",&n);Count1[0]=0;for(i=1;i<=n;i++){scanf("%d%d",&Count[i],&Cost[i]);Count1[i] = Count1[i-1] + Count[i];}memset(dp,0,sizeof(dp));for(i=1;i<=n;i++){dp[i]=(Count1[i]+10)*Cost[i];for(j=0;j<i;j++){dp[i]=Min(dp[i],dp[j]+(Count1[i]-Count1[j]+10)*Cost[i]);}}printf("%d\n",dp[n]);}return 0;
}

POJ1260 Pearls(多重捆绑成0-1背包)相关推荐

  1. 旅行商的背包(二进制优化多重+0/1背包枚举体积))

    旅行商的背包(二进制优化多重+0/1背包枚举体积)) 题目描述 小 S 坚信任何问题都可以在多项式时间内解决,于是他准备亲自去当一回旅行商.在出发之前,他购进了一些物品.这些物品共有 n n n 种, ...

  2. Python 0/1背包、动态规划

    参考:http://www.cnblogs.com/fcyworld/p/6243012.html Python 0/1背包.动态规划 0/1背包问题:在能承受一定重量的背包中,放入重量不同,价值不同 ...

  3. P1417 烹调方案 (0/1背包+贪心)

    题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...

  4. 算法分析与设计——蛮力法0/1背包

    蛮力法0/1背包 蛮力法 蛮力法是一种简单直接解决问题的方法,常常直接基于问题的描述,所以蛮力法也是最容易应用的方法. 蛮力法所依赖 的基本技术是遍历,即采用一定的策略依次处理待求解问题的所有元素,从 ...

  5. oracle11g memory_target,oracle11g MEMORY_MAX_TARGET设置成0 问题处理

    linux 下 oracle11g MEMORY_MAX_TARGET设置成0 问题处理 yope(2017_08_08) 问题起因: 数据库服务器由于业务原有内存不能够满足,所以增加了内存.CUP和 ...

  6. 数据结构与算法 / 回溯算法(八皇后、0 - 1 背包)

    回溯算法,顾名思义,就是在没有得到最优解的前提下,不断的返回至前面的岔路口位置,重新选择,直至遍历了所有的情况或者得到的预期最优解的情况下再结束. 与贪心算法不同的是,回溯算法理论上是可以得到最优解, ...

  7. C语言试题二十一之定义n×n的二维数组编写函数 function(int a[][n])功能是:使数组左下半三角元素中的值全部置成0。

    1. 题目 定义了n×n的二维数组,并在主函数中自动赋值.请编写函数 function(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0. 2 .温馨提示 C语言试题汇总里 ...

  8. 互联网日报 | 6月16日 星期三 | 滴滴试点早高峰拼成0佣金计划;小米“急”招自动驾驶相关人才;苹果正式推出播客订阅服务...

    ‍ ‍今日看点 ✦ 网信办启动"清朗·'饭圈'乱象整治"专项行动,重点打击5类"饭圈"乱象行为 ✦ 打造最科技的618,京东云首次发布京东618十大技术应用趋势 ...

  9. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

  10. HDOJ 2602-Bone Collector(0/1背包模板、打印方案及滚动数组解法)

    0/1背包 一.Bone Collector 解法一:二维数组解法(0/1背包模板代码) 1.1 0/1背包打印方案代码 解法二:滚动数组(一维)解法 2.1 一维滚动数组例题 E-爱玩游戏的Tom ...

最新文章

  1. android 仿京东toolbar,仿京东商城系列2------自定义toolbar
  2. (17万浏览量) .NET Core的介绍
  3. WPF 不支持从调度程序线程以外的线程对其 SourceCollection 进行的更改
  4. Linux C代码实现读取配置文件示例
  5. SpringCloud工作笔记068---登录堡垒机_下载文件报错_Xshell向Linux上传下载文件_lrzsz_ZModem
  6. Wireshark实战分析之IP协议(二)
  7. Centos7.x 安装JDK、Jenkins、Jmeter、ant
  8. 确认计算机故障的方法,计算机常见故障及处理方法大全!
  9. 电子设计教程7:线性稳压电源的工作原理
  10. 全球45个最热门免费下载电子图书的网站
  11. 计算机c盘红色,win7系统c盘空间不足变红了如何解决_windows7的C盘变成红色怎么办...
  12. esp分区引导修复失败_UEFI引导损坏启动不了怎么修复教程
  13. errpt and errclear are unnormal
  14. 基于远程服务器的共享文件实现
  15. 10款VS Code插件神器,超级实用
  16. Pytorch 、torchvision、Tensorflow安装
  17. android 外接触摸板,Intel推出远程键盘APP:Android手机可作为键盘和触摸板远程控制PC...
  18. 魅族官网 div+盒子
  19. 如何把无线路由器变成无线交换机使用?
  20. mysql中的gpl是什么意思_GPL是什么意思?急

热门文章

  1. Maven使用指南 配置阿里云镜像提高下载速度
  2. 置换密码c语言,替代密码和置换密码的C语言实现
  3. OpenGL与显卡驱动
  4. 如何检测显卡类型和OpenGL版本
  5. 2022年最新谷歌商店上架_Google Play 上架全流程附图
  6. why-not 和 why 问题简介
  7. 8.3-写代码必须要写注释吗?(为什么现实中不写注释?)
  8. 标准盒模型和怪异盒模型小结
  9. MindManager2021下载及安装教程
  10. Rebase Current onto Selected