比较有意思的一道题
初看肯定是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. 项目打包 tomcat部署

    IDE: IDEA 1.项目maven管理先执行 clean,再执行 compile 2.如果编译compile不成功,则将 C:\Users\Administrator\.m2\repository ...

  2. jquery easyui easyui-treegrid 使用异步加载数据

    jquery easyui easyui-treegrid 使用异步加载数据 jquery easyui easyui-treegrid 异步请求 >>>>>>&g ...

  3. asp gridview批量删除和全选

    本人新手刚学asp.net   全选和删除也是引用了他人的代码试了一试可以实现,感觉很好,就发了上来. 前台代码 <asp:GridView ID="GridView1" r ...

  4. 曾经感动过我们的文字 今天是否还有印象?——v1

    ①人最宝贵的东西是生命.生命对人来说只有一次.因此,人的一生应当这样度过:当一个人回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧;这样,在他临死的时候,能够说,我把整个生命和全部精力都献给了人生 ...

  5. java 内部类学习

    类和内部类的关系就如同人和心脏的关系. 实例1:内部类的基本结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 //外部 ...

  6. Java GetAndPost

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  7. Android 设计随便说说之简单实践(模块划分)

    上篇随笔随(Android 设计随便说说)便说了一下什么是设计以及设计的原则,这里举一个简单的例子来进一步的说Android设计.我们以应用商店的设计来举例. 在设计之前,需要把握两部分内容,才能使得 ...

  8. 使用AsyncHttpClient碰到的问题及解决方法

    之前做一个项目,项目里面的布局是这样的:一个Viewpager,Viewpager里面有三个Fragment,在第二个Fragment里面有一个ListView,使用了BaseAdapter来显示it ...

  9. C++语言体系设计哲学的一些随想(未完待续)

    对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...

  10. smarty 模板 数字自动添加

    section: section的产生是为解决foreach的不足的,与foreach一样,它用于设计模板内的循环块,它较为复杂,可极大程序上满足程序需要,所以在程序中我习惯使用它而不使用foreac ...