题目描述

翰的奶牛玩游戏成瘾!本来约翰是想把她们拖去电击治疗的,但是他发现奶牛们在玩游戏后生产
了更多的牛奶,也就支持它们了。
但是,奶牛在选择游戏平台上的分歧很大:有些奶牛想买 Xbox 360 来跑《光晕 3》;有的奶牛想
要任天堂 Wii 来跑《明星大乱斗 X》;还有奶牛想要在 PlayStation 3 上玩《潜龙谍影 4》。约翰只有
V 元钱,不够多,要做一些取舍才行。
已知市面上有 K 种游戏平台,如果想玩第 i 种平台的游戏,必须先买一台该平台的游戏机,价
格为 C i 。第 i 种平台上有 S i 种游戏,其中第 j 个游戏的价格为 P i,j ,奶牛玩过这个游戏后的产出为
E i,j 。如果想玩同一平台上的多个游戏,只要买一台游戏机就够了。请帮助约翰选择买哪些游戏机和
游戏,才能使奶牛的产奶效益之和最大?注意同一个游戏买两次是不会产生双倍效益产生的。

输入

• 第一行:两个整数 K 和 V ,1 ≤ K ≤ 50,1 ≤ V ≤ 10 6
• 第二行到第 K + 1 行:第 i + 1 行首先有两个整数 C i 和 S i ,1 ≤ C i ≤ 10 6 ,1 ≤ S i ≤ 10,其次
有 S i 对整数 P i,j 和 E i,j ,1 ≤ P i,j ≤ 10 6 ,1 ≤ E i,j ≤ 10 6

输出

• 单个整数:表示可以得到的最大产出之和

样例输入

3 800 300 2 30 50 25 80 600 1 50 130 400 3 40 70 30 40 35 60

样例输出

210

提示

购买第一种游戏平台上的第二个游戏,以及

第三种游戏平台上的第一个和第三个游戏,恰好
花去 300 + 25 + 400 + 40 + 35 = 800 元,产出为
80 + 70 + 60 = 210
 
 
题解:
捆绑背包加强版,分选该平台和不选两种情况 于是我们设F[i][j]为前i个平台花j元的最大产出
我们假设买了该平台,设nd为买该平台的钱 那么F[i][j]=F[i-1][j-nd] 先转移过来
然后再用所有的游戏进行01背包 然后枚举需要限制.
背包完之后拿F[i][j]和F[i][j-1]比较,表示选不选该平台
 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,MAXN=;
int F[N][MAXN];
int gi(){
int str=;char ch=getchar();
while(ch>''||ch<'')ch=getchar();
while(ch>='' && ch<='')str=str*+ch-,ch=getchar();
return str;
}
int main()
{
int n=gi(),m=gi(),nd,num=,x,y;
for(int i=;i<=n;i++)
{
nd=gi();num=gi();
for(int j=nd;j<=m;j++)F[i][j]=F[i-][j-nd];
for(int j=;j<=num;j++)
{
x=gi();y=gi();
for(int k=m;k>=x+nd;k--)
{
F[i][k]=max(F[i][k-x]+y,F[i][k]);
}
}
for(int j=;j<=m;j++)F[i][j]=max(F[i][j],F[i-][j]);
}
printf("%d",F[n][m]);
return ;
}
 

【USACO】电子游戏 有条件的背包的更多相关文章

  1. USACO Money Systems Dp 01背包

    一道经典的Dp..01背包 定义dp[i] 为需要构造的数字为i 的所有方法数 一开始的时候是这么想的 for(i = 1; i <= N; ++i){ for(j = 1; j <= V ...

  2. USACO Subset 整数划分01背包

    又是去理解了一次01背包. 这道题目的意思就是给你一个N (N < 40)表示有一个集合{1,2,3,... n} 你要将它划分成相等的两个子集合,求有几种划分方式 如果N是奇数,那么显然不能由 ...

  3. USACO 完结的一些感想

    其实日期没有那么近啦……只是我偶尔还点进去造成的,导致我没有每一章刷完的纪念日了 但是全刷完是今天啦 讲真,题很锻炼思维能力,USACO保持着一贯猎奇的题目描述,以及尽量不用高级算法就完成的题解……例 ...

  4. hdoj--2955--Robberies(背包好题)

    Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. dp式子100个……

    1.        资源问题1-----机器分配问题F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2------01背包问题F[I,j]:=max(f[i- ...

  6. dp方程

    1.        资源问题1 -----机器分配问题 F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2 ------01背包问题   F[I,j]:=ma ...

  7. CSP2019: Lost and Found

    再不更就成鸽子了= = Day -INF to Day 0 不记得发生了什么 Day 1 今年HN用网上提交的方式收题?再也不怕因为交代码太晚增加省队名额了 开考看了一眼T1好像是模拟题,特地注意了\ ...

  8. 浅析拯救小矮人的 nlogn 算法及其证明

    浅析拯救小矮人的 nlogn 算法及其证明 题型简介: 有 $ n $ 个人,第 $ i $ 个人身高 $ a_i $ 手长 $ b_i $ ,他们为了从一个高为 $ H $ 的洞中出去,决定搭人梯. ...

  9. (容量超大)or(容量及价值)超大背包问题 ( 折半枚举 || 改变 dp 意义 )

    题意 : 以下两个问题的物品都只能取有且只有一次 ① 给你 N 个物品,所有物品的价值总和不会超过 5000, 单个物品的价格就可达 10^10 ,背包容量为 B ② 给你 N (N ≤ 40 ) 个 ...

随机推荐

  1. C语言--第三周作业

    一.PTA作业中4个题目 1.7-9 A乘以B 要求:输入的两个整数:A是你学号前两位数字,B是你学号后两位数字 a.代码 #include <stdio.h> int main () { ...

  2. SaaS的那些事儿

    前两年...   大一大二期间,不知道软件架构.云服务器.数据库为何物,偶尔听过却从未用过.天天学的写的东西都是一些命令行代码,所幸在学完<数据结构>和<算法导论>后能够独立实 ...

  3. Linux kernel 的 sendfile 是如何提高性能的

    Linux kernel 的 sendfile 是如何提高性能的 现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? ...

  4. Flask 扩展 HTTP认证

    Restful API不保存状态,无法依赖Cookie及Session来保存用户信息,自然也无法使用Flask-Login扩展来实现用户认证.所以这里,我们就要介绍另一个扩展,Flask-HTTPAu ...

  5. Hibernate实体类注解解释

    Hibernate注解1.@Entity(name="EntityName")必须,name为可选,对应数据库中一的个表2.@Table(name="",cat ...

  6. 前端之bootstrap模态框

    简介:模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. Modal简介 Modal实现弹出表单 M ...

  7. Autofac 简单示例

    公司不用任何IOC,ORM框架,只好自己没事学学. 可能有些语言描述的不专业 希望能有点用 namespace Autofac { class Program { //声明一个容器 private s ...

  8. BizTalk Server 2016配置 WCF SAP Adapter

    BizTalk Server 2016配置 WCF SAP Adapter 最近公司内部需要使用BizTalk与SAP 系统进行对接,虽然SAP/PI可以以发布WebService 的方式实现与外部系 ...

  9. Django之views系统

    Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错 ...

  10. Lumen框架搭建指南

    新人从java转php,到新公司搭建lumen框架,lumen官方文档的坑不是一般的多,对新手极其不友好,记录下我搭建过程,希望对小白们有所帮助. 首先看下官方文档:https://lumen.lar ...