BZOJ4113 : [Wf2015]Qanat
2016-07-07 15:30
218 查看
设$f_i$表示用$i$个辅助井时代价的最小值,$x_i$表示此时最后一个辅助井的位置。
则$f_i$是关于$x_i$的一个二次函数,其中系数跟$f_{i-1}$有关,递推求出极值点即可。
时间复杂度$O(n)$。
则$f_i$是关于$x_i$的一个二次函数,其中系数跟$f_{i-1}$有关,递推求出极值点即可。
时间复杂度$O(n)$。
#include<cstdio> #define N 1010 double w,h,A,B,a,b,x ,f ;int n,i; int main(){ scanf("%lf%lf%d",&w,&h,&n); h/=w; A=1+h,B=1-h; f[0]=(1+h)*(1+h)/4; for(i=1;i<=n;i++){ a=-0.25*B*B-0.5+B+f[i-1]; b=-0.5*A*B; x[i]=-b/(a+a); f[i]=a*x[i]*x[i]+b*x[i]+0.25*A*A; } for(i=n-1;i;i--)x[i]*=x[i+1]; for(printf("%.6f\n",f *w*w),i=1;i<=10&&i<=n;i++)printf("%.6f\n",x[i]*w); return 0; }
相关文章推荐
- android的消息处理机制——Looper,Handler,Message
- 成为程序界的叶问,你需要打败这十个人
- 自定义控件二
- JAVA三个线程依次打印ABC
- mongodb 主从切换
- centos yum安装ssl证书可供ios app下载使用
- 显示和隐藏table中的border
- JNI官方规范中文版——从一个简单的例子开始
- Oracle 查询类似 select top 的用法
- Http幂等性
- asp.net ajax get post 中文乱码解决办法
- 简单掌握Python的Collections模块中counter结构的用法
- 在互联网时代,你是消费者还是创造者?
- 解决数据库性能瓶颈的几种方法 - NoSql视角(草稿)
- XPath学习:基本语法(一)
- Android Studio异常"The plugin org.jetbrains.android failed to save settings and has been disabled"处理总结
- 为 SharePoint 2013 服务器场配置传出电子邮件
- IK和粒子的Simulation Space导致的位置错误问题
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
- java多线程基础(5)-调度方式之暂停当前线程方式4-连接线程(join)