hdu 4465 求期望(C(m,n)太大用log优化)
/*
坑啊
数学函数的运用log处理,exp还原
tle好长时间,一直用g++交,最后把别人正确的代码交上也是tle,用c++交一遍ac
题意:有两个数量为n的糖果,一个人开始吃,吃到最后有一堆剩余为0的时候不吃,把另一堆留给另外一个另一个人,求另一个人得到糖果的期望,
这个人吃第一堆糖果的概率是p,第二堆糖果的概率是1-p,并且当他把一堆糖果吃完,再次吃的时候发现没有了才结束。
解:分别求出当第一堆剩余的期望,第二堆剩余的期望加起来
(n-i)*C(n+i,i)*pow(p,n+1)*pow(1-p,i)+(n-i)*C(n+i,i)*pow(1-p,n+1)*pow(p,i);
*/
#include<stdio.h>
#include<string.h>
#include<math.h>
double ee;
double cc(double e,int k,double p,int n,double q,int m) {
double sum;
sum=ee=e+log(1.0*k)-log(1.0*(k-n+1));
sum+=1.0*n*log(p);
sum+=1.0*m*log(q);
return sum;
}
int main() {
int n,i,k=0;
double p,e,sum;
while(scanf("%d%lf",&n,&p)!=EOF) {
ee=0;e=0;
sum=1.0*n*pow(p,n+1)+1.0*n*pow(1-p,n+1);
for(i=1;i<=n;i++) {
e=ee;
sum+=1.0*(n-i)*(exp(cc(e,n+i,p,n+1,1-p,i))+exp(cc(e,n+i,1-p,n+1,p,i)));
}
printf("Case %d: %.6f\n",++k,sum);
}
return 0;}
hdu 4465 求期望(C(m,n)太大用log优化)的更多相关文章
- HDU - 4465 期望 + 取log优化
思路:这个求期望的公式很容易得到,但是在算的时候我们会遇到一个问题,就是组合数太大了根本存不下, 这时候就可以在计算的时候都取log,最后复原... 以前没遇到过.. #include<bit ...
- HDU 4465 Candy (数学期望)
题意:有两个盒子各有n个糖(n<=2*105),每天随机选1个(概率分别为p,1-p),然后吃掉一颗糖.直到有一天打开盒子一看,这个盒子没有糖了.输入n,p,求此时另一个盒子里糖的个数的数学期望 ...
- HDU 5159 Card (概率求期望)
B - Card Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- hdu 4870 rating(高斯消元求期望)
Rating Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- HDU 4465 数值计算,避免溢出
数学,数值计算,求期望 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4465题目描述:有两个盒子,每个中有n个糖果,(n<10^5)每次任选一 ...
- HDU4870_Rating_双号从零单排_高斯消元求期望
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Other ...
- Hdu 4465 Candy (快速排列组合+概率)
题目链接: Hdu 4465 Candy 题目描述: 有两个箱子,每个箱子有n颗糖果,抽中第一个箱子的概率为p,抽中另一个箱子的概率为1-p.每次选择一个箱子,有糖果就拿走一颗,没有就换另外一个箱子. ...
- hdu 4465 Candy (非原创)
LazyChild is a lazy child who likes candy very much. Despite being very young, he has two large cand ...
- ZOJ 3822(求期望)
Domination Time Limit: 8 Seconds Memory Limit: 131072 KB Special Judge Edward is the headm ...
随机推荐
- magento 获得当前产品页面的产品id
$product_id = Mage::registry('current_product')->getId();
- Dock
搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20) 小结: dock 版本号 分为 3位,比如1.1.2 就分为1, 1.1,1.1,2 这个几个版本 这种 tag 方案使 ...
- 转 PHP in_array() 函数
实例 在数组中搜索值 "Glenn" ,并输出一些文本: <?php $people = array("Bill", "Steve", ...
- URAL1389. Roadworks(dp)
1389 算个简单的树形DP吧 不知道是不是数据太水 竟然一A了 就是对于当前节点有没有被选中就行选最优 有没有被选中的意思是有没有与它相连的边被选中 #include <iostream> ...
- 支付宝-API接口解析-转账到银行
支付宝-API接口解析-转账到银行 扫码转账 测试地址 解析内容: alipays://platformapi/startapp?appId=09999988&actionType=toCar ...
- Spark学习之基于MLlib的机器学习
Spark学习之基于MLlib的机器学习 1. 机器学习算法尝试根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定. 2. MLlib完成文本分类任 ...
- 从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
这一篇是从0开始搭建SQL Server 2012 AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 操作步骤: 1.安装SQL server ...
- list map接口传递
1.传参时可以设置为jsonArray的格式 JSONArray array = new JSONArray(); JSONObject json = new JSONObject(); json.p ...
- Importing Swift into Objective-C
Overview You can work with types declared in Swift from within the Objective-C code in your project ...
- html 零散问题
1.iconfont的使用 https://www.cnblogs.com/yujihang/p/6706056.html 2.阴影效果比较 box-shadow:0 0 6px #000 inset ...