hiho一下第91周《Events Arrangement》(前半部分)
题目大意
现在有一场持续时间为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]
hiho一下第91周《Events Arrangement》(前半部分)的更多相关文章
- C++PRIMER第二章前半部分答案
C++PRIMER第二章前半部分答案 哈哈哈,为什么是前半部分呢,后半部分还在学习中,重新系统性的学习c++,共同进步嘛,不多说,跟我一起来看看吧,第三章开始才是新手收割的时候,慢慢来~~ 2.1&a ...
- 后半部分样式和JS前半部分脚本语言
样式 剩余样式: 1.<div style=display:"none"></div>:nono 是隐藏该元素内容,block是显示该元素内容 2.< ...
- 显示段落p中的前半部分内容 剩下的用三个点代替,点击更多时显示所有内容
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 圆内,求离圆心最远的整数点 hiho一下第111周 Farthest Point
// 圆内,求离圆心最远的整数点 hiho一下第111周 Farthest Point // 思路:直接暴力绝对T // 先确定x范围,每个x范围内,离圆心最远的点一定是y轴两端的点.枚举x的范围,再 ...
- [转]Java中一周前一个月前时间计算方法
Java中一周前一个月前时间计算方法 在java语言中,用如下方法获取系统时间: Date date = new Date(); String year=new SimpleDateFormat(&q ...
- hiho一下 第115周:网络流一•Ford-Fulkerson算法 (Edmond-Karp,Dinic,SAP)
来看一道最大流模板水题,借这道题来学习一下最大流的几个算法. 分别用Edmond-Karp,Dinic ,SAP来实现最大流算法. 从运行结过来看明显SAP+当前弧优化+gap优化速度最快. hi ...
- 周根项《一分钟速算》全集播放&下载地址
点击图片就可以观看 ↓↓↓↓↓↓↓↓ 第1章:指算法 周根项<一分钟速算>第1章:指算法 第一节 对手的认识 周根项<一分钟速算>第1章:指算法 第二节 个位数比十位数大1乘以 ...
- javascript 关于一周前一个月前的处理方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【hiho一下第77周】递归-减而治之 (MS面试题:Koch Snowflake)
本题是一道微软面试题,看起来复杂,解出来会发现其实是一个很简单的递归问题,但是这道题的递归思路是很值得我们反复推敲的. 原题为hihocoder第77周的题目. 描述 Koch Snowflake i ...
随机推荐
- Bootstrap系列 -- 16. 文本域textarea
文本域和原始使用方法一样,设置rows可定义其高度,设置cols可以设置其宽度.但如果textarea元素中添加了类名“form-control”类名,则无需设置cols属性.因为Bootstrap框 ...
- jQuery基础之(六)jQuery浏览器的兼容性(以CSS3特写兼容举例)
CSS3充分吸收多年了web发展的需求,吸收了很多新颖的特性.例如border-radius css3特性中最令人兴奋的莫过于选择器的增强,例如属性选择器可以根据某个属性值来选择标记,位置选择器可以根 ...
- EasyUI之Form load函数IE8下设置Radio或Checkbox的BUG
EasyUI的form的load函数很好用,表单赋值就靠它了,简单方便.我们可以指定url以Ajax加载,如: 1: $('#ff').form('load', 'ajax/common') JSON ...
- MVC上传文件示例
[HttpPost] public void SaveFile(FormCollection form) { var c = Request.Files.Count; ]; } @using (Htm ...
- git使用问题汇总
2015.11.29 一.git clone 出现如下问题: 解决方案:添加一个ssh keys.步骤如下: 1.生成一个ssh-key(图片来自网络) 2.找到“Your identificatio ...
- HDU 5115 Dire Wolf 区间dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5115 Dire Wolf Time Limit: 5000/5000 MS (Java/Others ...
- CentOS 安装 Jexus
官网:http://www.jexus.org/ 安装过程就照着页面上做就好了,前提是需要安装好mono 在VS2015中新建一个MVC应用程序,这里需要注意两个步骤: 第1步:移除bin下的Micr ...
- jS-模式之简单的订阅者和发布者模式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JSP 九个隐含JSP对象
输入输出对象:request.response.out. 作用域通信对象:session.application.pageContext servlet对象:page.config 错误对象:exce ...
- 用VSCode写python的正确姿势
最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引.用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markd ...