比较有意思的一道题
初看肯定是dp一类,但好像没什么思路,
先令p=1-p q=1-q
如果我们用常见的f[i]到第i次试验最大利润的话
我们发现不好转移,因为影响因素不仅有价格,还有数量
考虑到原料总量一定,我们考虑用c[i]表示到第i次实验最大利润率
不难发现第m次试验,最大利润率一定是a和b那个较大的
边界是从最后确定的,我们考虑倒推
不妨设在第i此实验时,剩下有w克原料,有x*w的原料做a试验,w*(1-x)的原料做b试验 0<=x<=1
则c[i]=(w*a*x+w*(1-x)*b+c[i+1]*(w*p*x+w*(1-x)*q))/w
整理得c[i]=ax+b(1-x)+c[i+1]*p*x+c[i+1]*(1-x)*q
即c[i]=x(a-b+c[i+1]*(p-q))+b+c[i+1]*q
不难发现是关于x的一次函数,要使c[i]最大我们只要判断a-b+c[i+1]*(p-q)是否大于0即可
大于0 x取1,否则取0
然后就搞定了

 var c:array[..] of double;
n,m,a,b,i:longint;
p,q:double; begin
readln(m,n,a,b,p,q);
p:=-p;
q:=-q;
for i:=m downto do
if a-b+c[i+]*(p-q)> then c[i]:=a+c[i+]*p
else c[i]:=b+c[i+]*q;
writeln(c[]*n::);
end.

bzoj1389的更多相关文章

随机推荐

  1. webapi 接口规则

    [HttpPost] [AuthorizeFilter] public HttpResponseMessage DeleteStudentInfo([FromBody] object value) { ...

  2. HTML+CSS基础学习笔记(2)

    一.无序列表标签ul <ul> <li>信息</li> <li>信息</li> ...... </ul> 代码解释:每项< ...

  3. Promise的用简要使用方式

    Promise用法 在项目中用到异步请求ajax,想到用promise来解决,之前用过但是已经很久了,还是忘了一些,重新熟悉了一下整理一份简要文档. Promise,就是一个对象,用来传递异步操作的消 ...

  4. gulp 前端自动化工具

    一开篇 在前端开发的过程中,我们经常会碰到压缩.合并.图片script 等,于是就有了gulp 前端自动化构建工具,它能帮你在前端开发中,节省时间. 1,安装 node.js 因为gulp 构建工具是 ...

  5. AngularJS Filter用法详解【转+实际测试】 格式化货币

    AngularJS内建了一些常用的Filter,我们一一来看一下. currencyFilter(currency): 用途:格式化货币 方法原型: function(amount, currency ...

  6. Java SE (5)之 线程使用

    JAVA有两种线程的方法Thread 和Runnable 能够使用,这是为了弥补不能多继承的缺陷 首先是 Thread package com.sunzhiyan03; /* * 演示线程 * */ ...

  7. mysql的sql分页函数limit使用

    My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为: SELECT * FROM 表名称 LIMIT M, ...

  8. 读懂IL代码(四)

    这一篇是IL系列的最后一篇的,主要是要说一下IL中的流程控制.我相信,经过前面三篇的介绍,看IL代码应该不是什么大问题了吧.好吧,闲话不多说了,就来简单的说一下吧. 还是跟前几篇一样,以例子来解释说明 ...

  9. Problem 1010 - 素数环问题

    #include<iostream> #include<string> #include<algorithm> #include<vector> #in ...

  10. MySQL全文检索笔记 转载

    1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型 CREATE TABLE articles ( id ...