Ref : http://www.clanfei.com/2012/04/772.html

可推出公式:

ans=sigma[C(N1-1,i)*0.5^(N1+i)]  (0<=i<=N2-1)

注意double相乘会掉精度导致WA,所以要用黑科技

log(a*b)=log(a)+log(b)

10^(log(a))=a

这样就把乘法转成加法辣~

 #include<iostream>
#include<cmath>
#include<cstdio>
using namespace std; double ans,tmp;
int N1,N2,HP1,HP2,AP1,AP2; int main()
{
while(cin>>HP1>>HP2>>AP1>>AP2)
{
N2=HP1/AP2; if(HP1%AP2!=) N2++;
N1=HP2/AP1; if(HP2%AP1!=) N1++; ans=pow(0.5,N1);
//tmp=1.00;
tmp=;
for (int i=;i<=N2-;i++)
{
//tmp=tmp*(N1-i)/i;
//ans+=tmp*pow(0.5,N1+i);
tmp+=log10(N1-1.0+i)-log10(i*1.0);
ans+=pow(,tmp+(N1+i)*log10(0.5));
}
ans=ans*;
printf("%.4f\n",ans);
}
}

最新文章

  1. js库
  2. 介绍两个Ubuntu上的桌面小工具
  3. 转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用
  4. Tesseract-OCR 3.05 躲过语言文字识别(运行程序+中英日韩语言包)
  5. new[]上面居然有一个内存计数,怪不得delete[]从来不出错
  6. extjs form 取值 赋值 重置
  7. Robot Framework学习路线
  8. FMS带宽的需求计算法
  9. fopen()函数参数
  10. $.each()和$().each(),以及forEach()的用法
  11. Struts2——通配符,Action Method_DMI
  12. spring-boot-2.0.3源码篇 - 国际化
  13. 浅析requests库响应对象的text和content属性
  14. 设计模式-结构型模式,python桥接模式
  15. InnoDB存储引擎表的主键
  16. css翻译名词术语
  17. no acceptable C compiler found in $PATH
  18. Linux下tomcat无法启动
  19. 算法训练 P1103
  20. Java-如何不使用-volatile-和锁实现共享变量的同步操作

热门文章

  1. EditText的inputType常用取值
  2. crontab -e 每天定时备份mysql
  3. SQL SERVER 2000通过链接服务器发送邮件出现错误
  4. C、C++: 引用、指针、实例、内存模型、namespace
  5. React 性能优化总结
  6. Spark基本工作流程及YARN cluster模式原理(读书笔记)
  7. cnless.sh:改进版less,可自动识别GBK编码或UTF-8编码。
  8. 解决开启SQL Server sql Always on Group 事务日志增大的问题
  9. TAR,JAR,Zip的使用
  10. 区块链是伟大的,比特币则不然。《FinTech,金融科技时代的来临》。3星。