博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
九校联考-DL24凉心模拟Day1T1 餐馆(restaurant)
阅读量:5235 次
发布时间:2019-06-14

本文共 2173 字,大约阅读时间需要 7 分钟。

1.1 题目背景

铜企鹅是企鹅餐馆的老板,他正在计划如何使得自己本年度收益增加。

1.2 题目描述

共有n 种食材,一份食材i 需要花 \(t_i\) 小时不间断地进行播种,施肥,直至收获。当然,一份食材i 是可以直接卖掉得到 \(w_i\) 块钱的。

招牌菜共有m 种,一份招牌菜i 需要消耗一定的食材,花 \(T_i\) 小时不间断地来烹饪,叫卖,并最终卖出得到 \(W_i\) 块钱。
整个季度换算下来一共有\(T_{max}\) 小时可供你使用,铜企鹅需要在这期间赚到最多的钱,这样他才有足够多的钱来steam 剁手,或者氪金手游

1.3 格式

1.3.1 输入格式

第一行一个整数T,表示数据组数。

一行三个整数n; m; \(T_{max}\),含义如题所示。
接下来n行,每行两个整数 \(t_i\) ; \(w_i\),含义如题所示。
接下来m行,每行两个整数 \(T_i\) ; \(W_i\),含义如题所示。
接下来m行,每行n 个整数,第j 个数 \(d_j\)表示当前招牌菜需要 \(d_j\) 个食材j。

1.3.2 输出格式

对于每组数据,输出一行一个整数,表示你所能赚到的最多的钱。

1.4 样例

1.4.1 样例输入

3

1 1 48
2 2000
9 21864
54
4 46
17 52
4 36
5 43
16 62
9 31659
1 20431
4 623
1 11961
4 5 3 5
5 4 3 4
3 3 3 3
4 4 5 5
10 0 48
10 41
18 48
2 14
22 65
12 77
7 48
4 85
2 61
24 85
8 34

1.4.2 样例输出

53728

410
1464

1.5 数据范围

Subtask 分值 n m T
1 3 1 1 0
2 20 1 1 5
3 10 4 4 5
4 17 2000 0 5
5 50 2000 2000 4

对于100% 的数据,保证0 < t_i ; T_i T_max 5000; 0 w_i;W_i 109,

每份招牌菜使用的食材的个数总数不超过10^5。

第一眼以为是树形dp(最近做多了...)写完后面的暴力回来先写了subtask4的完全背包,然后就发现较高级的物品和基础物品没啥区别。。直接把对应的原材料所需时间加到高级物品上就好了

#include
#include
#include
using namespace std;long long wei[4001],dp[5001],va[4001];long long read() { int ret=0; char c; c=getchar(); while(c>'9'||c<'0') { c=getchar(); } while(c>='0'&&c<='9') { ret=ret*10+c-'0'; c=getchar(); } return ret;}int main() { long long t; t=read(); while(t--) { long long n,m,T; n=read(); m=read(); T=read(); memset(wei,0,sizeof(wei)); memset(dp,0,sizeof(dp)); memset(va,0,sizeof(va)); for(int i=1; i<=n; i++) { wei[i]=read(); va[i]=read(); } for(int i=1; i<=m; i++) { wei[n+i]=read(); va[n+i]=read(); } for(int i=1; i<=m; i++) { for(int j=1; j<=n; j++) { int x; x=read(); wei[n+i]+=x*wei[j]; } } for(int i=1; i<=n+m; i++) { for(int j=wei[i]; j<=T; j++) { dp[j]=max(dp[j],dp[j-wei[i]]+va[i]); } } printf("%lld\n",dp[T]); } return 0;}

转载于:https://www.cnblogs.com/shulker/p/9609197.html

你可能感兴趣的文章
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
PHP 导出 Excell
查看>>
Java基础教程——网络基础知识
查看>>
自己到底要的是什么
查看>>
Kruskal基础最小生成树
查看>>
ubuntu 14.04 安装搜狗拼音输入法
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>