题目大意

现在有一场持续时间为M的游乐会,在游乐会上有N种不同的表演节目,同一时间只能有一个节目进行表演。

每种节目最多可以表演K次,且每种节目具有自己的三个属性值a[i],b[i],c[i]

当一个节目在时间剩余p开始时,它会产生a[i]-(M-p)*b[i]的价值,这个节目会持续c[i]个单位时间。

此外由于最后有结束致辞,所以需要空出最后1个单位时间。

求问,怎么安排表演节目,可以使得产生的总价值最大。

解题思路

前半部分,通过道动态规划来计算每个物品的价值。

价值可以通过a[i]-(M-P)*b[i]表示。

其中只有P是变量,其他都为常量。所以用一个函数表示

f(p) = a[i]-(M-p)*b[i]    持续c[i]的时间。

= a[i]-M*b[i] + p*b[i]

       _______     _____

      A      B

分为AB部分,A部分对每种节目都是常量,B部分随活动开始时间改变。

选好一系列活动之后A部分价值以及确定,只需对B部分价值进行排序,使B部分价值最大。

用p[i]表示第i个活动开始时候的剩余时间。B部分的价值:

PriceB=p[i]*b[i];

i,j为2个相邻的活动

i-1,i,j,j+1。p在i和i-1之间。

交换i,j的位置只会改变p[i],p[j]

转载于:https://www.cnblogs.com/SeekHit/p/5330124.html

hiho一下第91周《Events Arrangement》(前半部分)相关推荐

  1. C语言编程>第二十六周 ① 函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

    例题:函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换.形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动. 例如,若a所指数组中的数据依次为:11 22 33 ...

  2. 关于“labuladong的算法小抄”的学习笔记---第0章核心框架汇总的前半部分框架(c++版)

    目录 作者给自己的话 一.学习算法和刷题的框架思维 1.数据结构的存储方式 2.数据结构的基本操作 3.算法刷题指南 二.labuladong的刷题心得 1.算法的本质 2.数组/单链表系列算法 3. ...

  3. 百度图神经网络7日打卡营--DAY01前半部分 总结

    首先很感谢百度AI团队这个平台,给大家请来世界级冠军来给大家做这一次的7日打卡营活动, 还提供免费的GPU算力平台,以及成熟可用的 包含刷新目前 最权威的 图神经ORB榜单的SOTA模型的 PGL 图 ...

  4. 生活记录:记录2020暑假前半部分时光

    记录2020暑假前大半部分时光 一.引言 二.经历的事情 (一).带弟弟去南宁玩 1.第一天 2.第二天 3.第三天 4.第四天 (二)制作音乐 (三)练习开车 (四)拔智齿 三.最后留语 四.定位日 ...

  5. 读完《财务自由之路》前半部分后的一些想法

    最近看了博多·舍费尔的<财务自由之路>,还没看完,但是有些地方让我印象比较深刻,这里做下记录. 看这书名,按理来说,我应该是对财务相关的知识增加了不少,事实却不是这样,反倒是对价值.自律. ...

  6. PHP计算剩余时间的2种方法,返回距离现在时间的格式,如1秒前,1分前..

    第一种 把两个日期格式的字符串转化成unix时间戳,然后相减获得时间戳差.最后判断剩余时间,生成类似(2小时30分钟20秒前发布)这样的时间格式 public function gettime($ti ...

  7. 前后端分离开发之Vue跨域

    前后端分离开发必须解决的就是跨域问题了,在这里记录一下关于在前端vue跨域的方法,以供参考 使用npm命令下载axios npm install axios 新建vue.config.js文件 目标转 ...

  8. hiho一下 第六周 Hihocoder #1038 : 01背包

    题目1 : 01背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时 ...

  9. 工作第十五周:上线前的惊悚

    新增单词 thus far 到目前为止 nondestructive 无损的 deliberately 故意的 recursive 递归的,回归的 bulk 大量的 comprise 包含 demon ...

最新文章

  1. 互联网分布式微服务云平台规划分析--服务监控中心
  2. 洛谷P2068 统计和题解
  3. Python 一种接触就容易爱上的语言二
  4. 高压五防计算机软件安装,基于Android的新一代五防钥匙软件系统
  5. windows时间同步软件_有没有好用的windows时间管理软件?这款便签软件帮你
  6. C++ STL学习笔记(2) 容器结构与分类
  7. java.lang.Void类
  8. 循环取矩阵的某行_一文搞懂RNN(循环神经网络)基础篇
  9. [Python+MATLAB] 在Python中使用MATLAB (持续更新中)
  10. SqlPlus中退格键和方向键的设置
  11. 【学习Spring框架】依赖注入和控制反转异同?
  12. NetBean 8 创建EJB
  13. 锂电池放空后充不进电_锂电池充不进去电怎么办(锂电池为什么小偷不要)
  14. 学习笔记(2)——TransE算法(Translating Embedding)
  15. SystemProperties与Settings.system
  16. 那些年,我们曾白嫖到的图床
  17. SDL Trados 2019 和 2021 十月更新
  18. 卸载亚信科技安全助手
  19. MD5是摘要算法,摘要算法和加密算法区别
  20. SpeakToIt:Android版Siri

热门文章

  1. 第一篇 Windows 8 开发Windows Metro style app环境配置
  2. Android SqlLite数据库的创建、增、删、改、查、使用事务
  3. td自动换行:设置table布局固定,td根据设定宽度自动换行
  4. 关于遥感图像的控制点片匹配算法的一点想法(二)
  5. ArcGIS水文分析实战教程(6)河流提取与河网分级
  6. arcpy.mapping常用四大件-MapsurroundElement
  7. 微信小程序实现浮动按钮
  8. 游戏经济系统分析:通货与交易
  9. VC实现将程序最小化到托盘
  10. mongodb 字符串转bson_MongoDB之bson的介绍