HDU 4336:Card Collector 期望+状压
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 期望+状压相关推荐
- HDU 4336 Card Collector(状压 + 概率DP 期望)题解
题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...
- hdu 4336 Card Collector
题意: 买零食凑卡片的游戏,浪费钱. 给出每包粮食含有某一张卡片的概率,当然也可能什么也没有. 问凑齐一套卡片的买的零食的数量的期望. 思路: 求期望,那么倒着dp. 因为n只有20,所以考虑用状态压 ...
- HDU 4336 Card Collector(容斥原理+状态压缩)
题目连接 多校的题目,和网络赛那个多么的相似啊...枚举每个状态 含有奇数的期望-偶数卡的期望,就是最后的结果. 1 #include <iostream> 2 #include < ...
- UVA 11600 Masud Rana(期望+状压DP)
题意:n个城市,城市间两两有一条道路,m条道路是没有怪物的,每天随机选一个城市(除了本身),走过去,消灭途中的怪物,如果消灭完后,所有城市都可以不通过有怪物的道路到达就结束,问平均需要的天数. 分析: ...
- HDU - 4856 Tunnels (预处理+状压dp)
HDU - 4856 Tunnels (预处理+状压dp) [hud链接] [vj链接] 题目 Problem Description Bob is travelling in Xi'an. He f ...
- HDU 5691 Sitting in Line 状压dp
Sitting in Line 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5691 Description 度度熊是他同时代中最伟大的数学家,一切 ...
- BZOJ 1076: [SCOI2008]奖励关 [DP 期望 状压]
传送门 题意:$n$种宝物,出现$k$次每次一种,每种宝物有价值和吃掉它之前必须要吃掉的宝物的集合,求采取最优策略的期望最大价值 1<=k<=100,1<=n<=15,分值为[ ...
- HDU 4899 Hero meet devil (状压DP, DP预处理)
题意:给你一个基因序列s(只有A,T,C,G四个字符,假设长度为n),问长度为m的基因序列s1中与给定的基因序列LCS是0,1......n的有多少个? 思路:最直接的方法是暴力枚举长度为m的串,然后 ...
- HDU 3001 Travelling (三进制状压dp)
题意 n(n<=10)n(n个城市,知道每个城市间的旅行费用,但每个城市最多走两遍.问最小花费是多少 . 也就是每个城市可以走两次的tsp问题. 分析 最多走两次,三进制0 1 2可满足,即用三 ...
- hdu 4366 Card Collector (容斥原理)
http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意:有 n 张卡片 ,每张卡片出现的 概率 是 pi 每包至多有 一张卡片 ,也有可能没有 卡片 . 求 ...
最新文章
- 计算机网络可以把在区域上分散的单个,计算机网络技术及应用课后习题
- linux vi行尾总是显示颜色,【转载】Linux 下使用 vi 没有颜色的解决办法
- uipath循环datatable_UiPath之DataTable转换为List和Array
- 怎么查看数据库服务器型号,如何查看服务器数据库类型
- Windows Mobile 5 编程体验4
- python数据应用场景_python应用场景
- dz mysql导出shell_mysql数据备份并导入数据库shell脚本
- python之twisted模块安装
- oracle高级函数api,Oracle函数-高阶篇
- 淘宝中的一些基本CSS代码
- 黑苹果卡在白苹果不动_从黑苹果到“白苹果”这一年我经历了什么
- 10种流行的Java框架
- linux命令sm,Linux系统命令和使用技巧8则
- 考研数学要背诵的知识点
- MPU-6050陀螺仪灵敏度LSBs/°/sec含义并与GY-85对比
- antd-mobile下拉加载
- Adobe Flash Player安装遇上错误:未能初始化的解决方法
- python点阵显示数字_Python实现点阵字体读取与转换的方法
- 023_接口类,抽象类,多态,鸭子类型,封装
- 关于Win7系统不能删除avast!