上海邀请赛 A题目 HDU 5236(dp)
2015-06-12 15:24
369 查看
先求出没有ctrl+s的时候构造长度为i的期望f[i] 。然后枚举保存的次数,求出最小即可。
#include<cstdio> #include<cstdio> #include<cmath> #include<queue> #include<stack> #include<string> #include<cstring> #include<iostream> #include<map> #include<vector> #include<algorithm> #include<set> #include<cmath> using namespace std; const int mmax = 100010; const double inf = 1e20; double f[mmax]; void build(double p) { f[0]=0; for(int i=1;i<mmax;i++) { f[i]=(f[i-1]+1)/(1.0-p); } } int main() { int t,ca=0; scanf("%d",&t); while(t--) { int n,x; double p; scanf("%d %lf %d",&n,&p,&x); build(p); double ans=inf; for(int i=0;i<n;i++) { int k=n/(i+1); double tmp=f[k+1]*(n%(i+1))+f[k]*(i+1-n%(i+1)); tmp+=1.0*(i+1)*x; ans=min(ans,tmp); } printf("Case #%d: %.6lf\n",++ca,ans); } return 0; }
相关文章推荐
- Linux脚本语言shell基础学习
- Apache Spark Resource Management and YARN App Models
- Redis Set 命令
- 最后期限——阅读笔记2
- PowerDesigner里怎样查找特定的表
- 软件工程开发模式
- WindowsXP快速清除消耗系统资源的explorer.exe病毒
- 基于 vlc android截图录制视频等功能
- 宏的本质以及宏(包括函数式宏) 没有返回值概念
- 等式变换
- 安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法
- linux命令4--cksum命令
- 京东商品数据抓取
- 怎样写参数个数可变的宏?
- SQLServer 2005 和自增长主键identity说再见——NEWSEQUENTIALID()
- Python循环定时服务功能(类似contrab)
- 基于Zookeeper的分步式队列系统集成案例
- linux 管道通信
- linux ls 显示彩色目录
- Swift1_闭包