Candy UVA
来源:互联网 发布:淘宝海外代购是真的吗 编辑:程序博客网 时间:2024/06/11 00:24
一个盒子为空,那么这个为空的盒子肯定被取了n次,同时假设另外一个盒子当中还剩余i颗糖果,那么由于另外一个盒子之前也是一共有n颗糖果的,所以这个盒子也被取了n-i次。所以期望就很容易算出来了,但是由于数据可能会很极端,也就是极端的大或者极端的小,所以在解题的时候就使用了对数然后在求解最终的结果的时候取指数这样的一个技巧,具体实现见如下代码:
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>#include<functional>using namespace std;const int maxn = 200005;long double logR[maxn];int n;double p;void Init(){logR[0] = 0;for (int i = 1; i <= 200000; i++){logR[i] = logR[i - 1] + log(i);}}long double solve(){long double res = 0;for (int i = 1; i <= n; i++){long double cof = logR[2 * n - i] - logR[n] - logR[n-i];long double v1 = cof + (n + 1)*log(p) + (n - i)*log(1 - p);long double v2 = cof + (n + 1)*log(1 - p) + (n - i)*log(p);res += i*(exp(v1) + exp(v2));}return res;}int main(){Init();int Case = 0;while (cin >> n >> p){Case++;cout << "Case " << Case << ": " <<fixed<<setprecision(6)<< solve() << endl;}return 0;}
阅读全文
0 0
- Candy UVA
- UVA 1639(p333)----Candy
- UVa 1639 Candy
- UVa 1639 Candy
- UVA.1639 Candy (期望 高精度)
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- 多线程及其状态
- Android Studio集成OkHTTP及使用
- 动态规划--矩阵链乘法
- Angular2.0开发之路资料收集
- Ubuntu在apt-get 安装时出现dpkg: error processing package XXX的问题
- Candy UVA
- chromedriver与chrome各版本及下载地址
- CREATE GLOBAL TEMPORARY TABLE
- 从语义化的角度,<li> 标签中的内容应该使用 <p> 标签吗?
- (Slide)CNN图像分类与物体检测
- Manifest中一些标签的作用
- 关于机器学习 你不得不思考这些问题
- V4L2源代码之旅五:V4L2的起点和终点
- copy 数据库第三接口授权