Card Collector

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=4336

题意:

去商店里买零食,每包零食里最多有1张卡片,也有可能没有,问要集齐所有n(n≤20)种卡片所需要购买零食个数的期望。

题解:

设dp[i](二进制,对应位为1表示已经有该卡片)为以当前状态为起点还需要购买零食个数的期望,则dp[0]即答案

对DP求解期望有问题的可以看下这里

             

代码

#include<stdio.h>
#include<string.h>
const int N=20;
double dp[1<<N],p[N],x;
int main()
{
  int n;
  while(~scanf("%d",&n))
  {
    dp[(1<<n)-1]=0.0;
    for(int i=0;i<n;++i)
    scanf("%lf",&p[i]);
    for(int j=(1<<n)-2;j>=0;--j)
    {
      x=0;dp[j]=0.0;
      for(int k=0;k<n;++k)
      {
        if(!((1<<k)&j))
        dp[j]+=dp[j+(1<<k)]*p[k],x+=p[k];
      }
      dp[j]=(dp[j]+1.0)/x;
    }
    printf("%.5f\n",dp[0]);
  }
}

  

转载于:https://www.cnblogs.com/kiuhghcsc/p/5579111.html

HDU 4336:Card Collector 期望+状压相关推荐

  1. HDU 4336 Card Collector(状压 + 概率DP 期望)题解

    题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...

  2. hdu 4336 Card Collector

    题意: 买零食凑卡片的游戏,浪费钱. 给出每包粮食含有某一张卡片的概率,当然也可能什么也没有. 问凑齐一套卡片的买的零食的数量的期望. 思路: 求期望,那么倒着dp. 因为n只有20,所以考虑用状态压 ...

  3. HDU 4336 Card Collector(容斥原理+状态压缩)

    题目连接 多校的题目,和网络赛那个多么的相似啊...枚举每个状态 含有奇数的期望-偶数卡的期望,就是最后的结果. 1 #include <iostream> 2 #include < ...

  4. UVA 11600 Masud Rana(期望+状压DP)

    题意:n个城市,城市间两两有一条道路,m条道路是没有怪物的,每天随机选一个城市(除了本身),走过去,消灭途中的怪物,如果消灭完后,所有城市都可以不通过有怪物的道路到达就结束,问平均需要的天数. 分析: ...

  5. HDU - 4856 Tunnels (预处理+状压dp)

    HDU - 4856 Tunnels (预处理+状压dp) [hud链接] [vj链接] 题目 Problem Description Bob is travelling in Xi'an. He f ...

  6. HDU 5691 Sitting in Line 状压dp

    Sitting in Line 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5691 Description 度度熊是他同时代中最伟大的数学家,一切 ...

  7. BZOJ 1076: [SCOI2008]奖励关 [DP 期望 状压]

    传送门 题意:$n$种宝物,出现$k$次每次一种,每种宝物有价值和吃掉它之前必须要吃掉的宝物的集合,求采取最优策略的期望最大价值 1<=k<=100,1<=n<=15,分值为[ ...

  8. HDU 4899 Hero meet devil (状压DP, DP预处理)

    题意:给你一个基因序列s(只有A,T,C,G四个字符,假设长度为n),问长度为m的基因序列s1中与给定的基因序列LCS是0,1......n的有多少个? 思路:最直接的方法是暴力枚举长度为m的串,然后 ...

  9. HDU 3001 Travelling (三进制状压dp)

    题意 n(n<=10)n(n个城市,知道每个城市间的旅行费用,但每个城市最多走两遍.问最小花费是多少 . 也就是每个城市可以走两次的tsp问题. 分析 最多走两次,三进制0 1 2可满足,即用三 ...

  10. hdu 4366 Card Collector (容斥原理)

    http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意:有 n 张卡片 ,每张卡片出现的 概率 是 pi 每包至多有 一张卡片 ,也有可能没有 卡片 . 求 ...

最新文章

  1. 计算机网络可以把在区域上分散的单个,计算机网络技术及应用课后习题
  2. linux vi行尾总是显示颜色,【转载】Linux 下使用 vi 没有颜色的解决办法
  3. uipath循环datatable_UiPath之DataTable转换为List和Array
  4. 怎么查看数据库服务器型号,如何查看服务器数据库类型
  5. Windows Mobile 5 编程体验4
  6. python数据应用场景_python应用场景
  7. dz mysql导出shell_mysql数据备份并导入数据库shell脚本
  8. python之twisted模块安装
  9. oracle高级函数api,Oracle函数-高阶篇
  10. 淘宝中的一些基本CSS代码
  11. 黑苹果卡在白苹果不动_从黑苹果到“白苹果”这一年我经历了什么
  12. 10种流行的Java框架
  13. linux命令sm,Linux系统命令和使用技巧8则
  14. 考研数学要背诵的知识点
  15. MPU-6050陀螺仪灵敏度LSBs/°/sec含义并与GY-85对比
  16. antd-mobile下拉加载
  17. Adobe Flash Player安装遇上错误:未能初始化的解决方法
  18. python点阵显示数字_Python实现点阵字体读取与转换的方法
  19. 023_接口类,抽象类,多态,鸭子类型,封装
  20. 关于Win7系统不能删除avast!

热门文章

  1. 如何在苹果Mac中使用聚焦搜索 NTFS 格式磁盘?
  2. UltraEdit 21 for Mac(超好用的高级文本编辑器)
  3. WebToLayers如何将网页转换为PSD文档?
  4. CVE-2017-4901 VMware虚拟机逃逸漏洞分析【Frida Windows实例】
  5. 从环境搭建探讨做事的方法
  6. 点击按钮对两个div的隐藏与显示进行切换
  7. Swift - 设置应用程序图标的提醒个数(右上角小红圈)
  8. 思科GNS3和华为eNSP完美结合
  9. d3d11 indirect lighting
  10. 三、定义主从实体基类