题目背景

陈老师喜欢网购书籍,经常一次购它个百八十本,然后拿来倒卖,牟取暴利。前些天,高一的新同学来了,他便像往常一样,兜售他的书,经过一番口舌,同学们决定买他的书,但是陈老师桌上的书有三堆,每一堆都有厚厚的一叠,他要想个办法用最轻松的方式把书拿下来给同学们.但是你想逗一下陈老师,于是,请你设计一个最累的方式给他.

题目描述

若告诉你这三堆分别有i,j,k本书,以及每堆从下到上书的重量.每次取书只能从任意一堆的最上面取,那么请你帮助他设计一个方案,让他花最大的力气取下所有书(陈老师别打我). 显然,每次取书,陈老师的体力消耗都会加大,这里用体力系数代表,取下第一本书时,体力系数为1,第二本时为2,依次类推,而每次体力消耗值则为体力系数和书的重量之积。

输入输出格式

输入格式:

输入文件的第一行为3个数,分别为三堆数量I,j,k 第二行至第四行分别为每堆由下至上的书本重量

输出格式:

输出最累方式的体力消耗总值即可

输入输出样例

输入样例#1: 复制

2 1 1
2 9
10
3
输出样例#1: 复制

67
输入样例#2: 复制

3 2 4
2 3 2
1 5
9 8 7 4
输出样例#2: 复制

257

说明

对于40%的数据有:0<=i<10 0<=j<10 0<=k<10

对于100%的数据有:0<=i<100 0<=j<100 0<=k<100

最后输出的体力消耗总值在longint范围内

******本来是贪心的例题,但是其实贪心并不是正解,而正解应该是动态规划,i代表的是第一堆里面拿出来的书数

j代表第二堆里面拿出来的书数,k代表第三堆里面拿出来的书数

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int i,j,k,n,m,q,a[][][],b[],c[],d[];
int main()
{
scanf("%d %d %d",&n,&m,&q);
for(i = n;i>= ;i--)
{
scanf("%d",&b[i]);
}
for(i = m;i >= ;i--)
{
scanf("%d",&c[i]);
}
for(i = q;i >= ;i--)
{
scanf("%d",&d[i]);
}
for(i = ;i <= n;i++)
{
for(j = ;j <= m;j++)
{
for(k = ;k <= q;k++)
{
if(i >= )
a[i][j][k] = max(a[i][j][k],a[i - ][j][k] + b[i] * (i + j + k));
if(j >= )
a[i][j][k] = max(a[i][j][k],a[i][j - ][k] + c[j] * (i + j + k));
if(k >= )
a[i][j][k] = max(a[i][j][k],a[i][j][k - ] + d[k] * (i + j + k));
}
}
}
printf("%d",a[n][m][q]);
return ;
}

洛谷U36590搬书的更多相关文章

  1. 洛谷——P1657 选书

    P1657 选书 题目描述 学校放寒假时,信息学奥赛辅导老师有1,2,3……x本书,要分给参加培训的x个人,每人只能选一本书,但是每人有两本喜欢的书.老师事先让每个人将自己喜欢的书填写在一张表上.然后 ...

  2. 洛谷—— P1657 选书

    https://www.luogu.org/problem/show?pid=1657 题目描述 学校放寒假时,信息学奥赛辅导老师有1,2,3……x本书,要分给参加培训的x个人,每人只能选一本书,但是 ...

  3. 洛谷 P1657 选书

    P1657 选书 题目描述 学校放寒假时,信息学奥赛辅导老师有1,2,3……x本书,要分给参加培训的x个人,每人只能选一本书,但是每人有两本喜欢的书.老师事先让每个人将自己喜欢的书填写在一张表上.然后 ...

  4. 题解 洛谷P1281 【书的复制】

    蒟蒻的\(DP\)很菜,\(SO\)我准备上一套二分的玄学操作 一.简单的二分答案 二分主要是用来解决一些最值问题,它可以有效的优化暴力,使复杂度减少到\(O(logn)\). 我先给大家介绍一下二分 ...

  5. 洛谷P1126 机器人搬重物

    洛谷1126 机器人搬重物 题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一个直径1.6米的球.在试验阶段,机器人被用于在一个储藏室中搬运货物.储藏室是一个N*M的网格, ...

  6. 洛谷 P1126 机器人搬重物 (BFS)

    题目链接:https://www.luogu.org/problemnew/show/P1126 吐槽:这题很阴险 一开始没把格子图转化成点图:30分 转化成点图,发现样例过不去,原来每步要判断vis ...

  7. 洛谷八月月赛Round1凄惨记

    个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...

  8. 洛谷 P1379 八数码难题 Label:判重&&bfs

    特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...

  9. 洛谷P1220 关路灯

    洛谷1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关 ...

随机推荐

  1. 【译】第16节---数据注解-Table

    原文:http://www.entityframeworktutorial.net/code-first/table-dataannotations-attribute-in-code-first.a ...

  2. 每天一个小程序—第0001题(uuid模块)

    第 0001 题:  做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 一开始以为是 ...

  3. hdu 3208 Integer’s Power 筛法

    Integer’s Power Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. js,jq获取父,兄弟,子节点整理

    js获取节点 父: parentNode 获取已知节点的父节点. 子: childNodes; 得到全部子节点 children 得到全部子节点 firstChild 获得第一个子节点 lastChi ...

  5. Python:ModuleNotFoundError: No module named 'windows'

    pymouse安装后,又出现了ModuleNotFoundError: No module named 'windows'的错误 解决: 下载安装pyhook:http://www.lfd.uci.e ...

  6. python中常用的模块二

    一.序列化 指:在我们存储数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式,这个就是序列化, 不同的序列化结果不同,但目的是一样的,都是为了存储和传输. 一,pickle.可 ...

  7. 1.1.1 vue-cli脚手架工具

    参考文档: windows下npm安装vue(以下教程大部分都是参考这篇博客的,按照着这篇博客自己实现了一遍) npm安装vue-cli脚手架 一.前言 npm:nodejs下的包管理器,安装好nod ...

  8. idea输出目录详解

    引言:在项目中遇到了一个问题,在使用idea时,项目中Tomcat的虚拟目录映射总是失败,而当我采用myeclipse时却能映射过去. 自己花费了很长时间,终于找出了问题所在,原来是由于idea自己采 ...

  9. [HTML]html读取本地文件并显示

    <html> <body> <script script type="text/javascript"> function show() { v ...

  10. 《剑指offer》第六十二题(圆圈中最后剩下的数字)

    // 面试题62:圆圈中最后剩下的数字 // 题目:0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里 // 删除第m个数字.求出这个圆圈里剩下的最后一个数字. #inclu ...