题意:给你n个奖,每个机会只能中一个奖,中奖的概率分别是{p1,p2,p3......pn};并且这些奖是两两没有交集。(pi*pj=0)问,需要多少次才能把所有奖都中完的期望值。

先来分析:中所有奖事件A={{中奖A1},{中奖A2},{中奖A3}.....{中奖An}},是不是相当于A事件满足了Ai的所有性质。(这就是容斥的基本定理。)

那怎么计算期望?先分析一个,也就是例一,E(X)=∏(1-p)x-1p,这就是一个几何概率的期望(想要证明的话,请查阅幂级数(1+x+x2....+xn=1/(1-x) )

好了,那么后面的AiΛAj,其实就是相当于中两个奖的概率(仔细体会)。

ac代码:

#include<cstdio>
#define ll long long
double p[];
int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
for (int i = ; i < n; ++i)
scanf("%lf", &p[i]);
double ans = ;
for (ll i = ; i < (1LL << n); ++i)
{
int cnt = ;
double sum = ;
for (int j = ; j < n; ++j)
if (i&(1LL << j))
{
++cnt;
sum += p[j];
}
if (cnt & )ans += 1.0 / sum;
else ans -= 1.0 / sum;
}
printf("%.5lf\n", ans);
}
}

HDU - 4336 (容斥)的更多相关文章

  1. HDU 4135 容斥

    问a,b区间内与n互质个数,a,b<=1e15,n<=1e9 n才1e9考虑分解对因子的组合进行容斥,因为19个最小的不同素数乘积即已大于LL了,枚举状态复杂度不会很高.然后差分就好了. ...

  2. HDU 2841 容斥 或 反演

    $n,m <= 1e5$ ,$i<=n$,$j<=m$,求$(i⊥j)$对数 /** @Date : 2017-09-26 23:01:05 * @FileName: HDU 284 ...

  3. HDU 1695 容斥

    又是求gcd=k的题,稍微有点不同的是,(i,j)有偏序关系,直接分块好像会出现问题,还好数据规模很小,直接暴力求就行了. /** @Date : 2017-09-15 18:21:35 * @Fil ...

  4. HDU 4059 容斥初步练习

    #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> ...

  5. hdu 1220 容斥

    http://acm.hdu.edu.cn/showproblem.php?pid=1220 Cube Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  6. Co-prime HDU - 4135_容斥计数

    Code: #include<cstdio> #include<cstring> #include<cmath> #include<iostream> ...

  7. How many integers can you find HDU - 1796_容斥计数

    Code: #include<cstdio> using namespace std; typedef long long ll; const int R=13; ll a[R]; ll ...

  8. min-max容斥 hdu 4336 && [BZOJ4036] 按位或

    题解: 之前听说过这个东西但没有学 令$max(S)$表示S中编号最大的元素,$min(S)$表示编号中最小的元素 $$max(S)=\sum{T \in S} {(-1)}^{|T|+1} min( ...

  9. hdu 4336 Card Collector —— Min-Max 容斥

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4336 bzoj 4036 的简单版,Min-Max 容斥即可. 代码如下: #include<cst ...

  10. HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)

    题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片.求需要买多少包才能拿到所以的N张卡片,求次数的期望. 析:期望DP,是很容易看出来的,然后由 ...

随机推荐

  1. API 接口返回值

    API 接口返回值 https://blog.csdn.net/baple/article/details/52925772

  2. laravel 制作购物车流程

    ① 购入车数据如何存放? 创建数据表 用户ID 购物时间 缺点: 对服务器有压力. 方案: 定时删除 coolie中: 缺点: 数据不能跨客户端 优点:不会对服务器产生压力 放东西和数量 显示购物车 ...

  3. [转]Angular CLI 安装和使用

    本文转自:https://www.jianshu.com/p/327d88284abb 一. 背景介绍: 两个概念: 关于Angular版本,Angular官方已经统一命名Angular 1.x统称为 ...

  4. Morley's Therorem(UVA11178+几何)

    题意:Morley定理,求D.E.F的坐标 思路:没什么算法,就是几何的应用.注意旋转角就好了. 转载请注明出处:寻找&星空の孩子 题目链接:UVA11178 #include<cstd ...

  5. 如何用minitab检测一组数据是否服从正态分布

    打开Minitab之后 点击Stat>Basic Statistics> Normality Test  分析之后若 P value(P值)>0.05,说明此组数据服从正态分布

  6. C# 填充Excel

    1.添加引用 Microsoft.Office.Interop.Excel; 2.使用命名空间 using Microsoft.Office.Interop.Excel; 3.填充EXCEL单元格方法 ...

  7. domOperation.js

    // 可视宽高var ch = document.documentElement.clientHeightvar cw = document.documentElement.clientWidth / ...

  8. photoshop使用笔记-制作古代印章

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 第一步:新建图层400x400像素,白色背景的图层,并且复制图层 第二步:设置前景色为R230,G30,B30 第三步:选择圆角 ...

  9. importToMbtiles

    import sqlite3, sys, logging, time, os, json, zlib, re ''' MapDBImporter-latest -f png -mName " ...

  10. 安卓preview不显示的问题

    Render Problem Failed to load AppCompat ActionBar with unknown error 解决方法:将styles.xml文件中的: <resou ...