n个人 m个篮子 每一轮每一个人能够选m个篮子中一个扔球 扔中的概率都是p 求k轮后全部篮子里面球数量的期望值

依据全期望公式 进行一轮球数量的期望值为dp[1]*1+dp[2]*2+...+dp[n]*n 记为w

当中dp[i]为i个人扔中的概率 dp[i] = C(n, i)*p^i*(1-p)^(n-i) 终于答案为w*k

#include <cstdio>
#include <cstring>
using namespace std;
double dp[20];
double a[20], b[20]; double cm(int n, int m)
{
double ans = 1;
for(int i = 1; i <= m; i++)
{
ans *= (double)n--;
ans /= (double)i;
}
return ans;
}
int main()
{
int T;
int cas = 1;
scanf("%d", &T);
while(T--)
{
int n, m, k;
double p;
scanf("%d %d %d %lf", &n, &m, &k, &p);
dp[0] = a[0] = b[0] = 1;
for(int i = 1; i <= n; i++)
{
a[i] = a[i-1]*p;
b[i] = b[i-1]*(1-p);
}
for(int i = 0; i <= n; i++)
{
dp[i] = cm(n, i)*a[i]*b[n-i];
}
double ans = 0;
for(int i = 1; i <= n; i++)
ans += dp[i]*(double)i;
ans *= (double)k;
printf("Case %d: %.10lf\n", cas++, ans);
}
return 0;
}

Light OJ 1317 Throwing Balls into the Baskets 概率DP的更多相关文章

  1. lightOJ 1317 Throwing Balls into the Baskets

    lightOJ  1317  Throwing Balls into the Baskets(期望)  解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/ ...

  2. LightOJ - 1317 Throwing Balls into the Baskets 期望

    题目大意:有N个人,M个篮框.K个回合,每一个回合每一个人能够投一颗球,每一个人的命中率都是同样的P.问K回合后,投中的球的期望数是多少 解题思路:由于每一个人的投篮都是一个独立的事件.互不影响.所以 ...

  3. Light OJ 1038 - Race to 1 Again(概率DP)

    题目的意思是说任何一个大于1的整数,经过若干次除以自己的因子之后可以变为1, 求该变换字数的数学期望值.   题目分析: 我们设置dp[n] 为数字n的期望.假设n的因子为k1, k2, k3.... ...

  4. light oj 1317

    Description You probably have played the game "Throwing Balls into the Basket". It is a si ...

  5. LightOj_1317 Throwing Balls into the Baskets

    题目链接 题意: 有N个人, M个篮框, 每个人投进球的概率是P. 问每个人投K次后, 进球数的期望. 思路: 每个人都是相互独立的, 求出一个人进球数的期望即可. 进球数和篮框的选择貌似没有什么关系 ...

  6. Light OJ 1064 - Throwing Dice

    题目大意: 给你n个骰子, 问点数大于等于x的概率是多少? #include<cstdio> #include<cstring> #include<iostream> ...

  7. Light OJ 1025 - The Specials Menu(动态规划-区间dp)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1025 题目大意:一串字符, 通过删除其中一些字符, 能够使这串字符变成回文串. ...

  8. Light OJ 1037 - Agent 47(预处理状态压缩DP)

    题目大意: 有个特工要执行任务,他会遭遇到最多15个目标,特工必须把他们全部杀死.当他杀死一个目标后他可以使用目标的武器来杀死其他人.因此他必须有一个杀人的顺序,使得他开枪的次数最小. 现在给你一个表 ...

  9. Light OJ 1114 Easily Readable 字典树

    题目来源:Light OJ 1114 Easily Readable 题意:求一个句子有多少种组成方案 仅仅要满足每一个单词的首尾字符一样 中间顺序能够变化 思路:每一个单词除了首尾 中间的字符排序 ...

随机推荐

  1. hdu5386 Cover

    Problem Description You have an n∗n matrix.Every grid has a color.Now there are two types of operati ...

  2. android开发一些小bug

    1.一定要注意findViewId这种方法,尤其是含有多个同样的R.id的名字时,debug时不会当场报错.但随后会报空指针错误 2.List转换为Array能够这样处理: ArrayList< ...

  3. 巧用select延时

    在LINUX用户态的情况下.假设想要延时的话.用sleep是最合适的,可是,在有些情况下,须要更小单位的延时,ms  us 也是要的.用循环获取到的延时是不精确的. 幸好,select函数巧用的话,是 ...

  4. eclips 手机 offline

    [退出eclipse] [进入eclipse的工作区间] [删除 .metadata文件夹,确保 .metadata文件夹得隐藏文件也要删除] [重启eclipse,并重新导入你的工程]

  5. PHP中出现Notice: Undefined index的三种解决办法

    前一段做的一个PHP程序在服务器运行正常,被别人拿到本机测试的时候总是出现“Notice: Undefined index:”这样的警告,这只是一个因为PHP版本不同而产生的警告(NOTICE或者WA ...

  6. Python笔记(五)

    # -*- coding:utf-8 -*- # 函数 # python中定义函数的规则如下:以def开头,接函数名称和(),传入的参数和变量放在圆括号中间,函数以:起始,并且缩进,return选择性 ...

  7. Rabbit MQ 学习 (二)

    接连上一篇 :安装Erlang环境 之后,这篇安装 Rabbit Server 官网下载安装包:http://www.rabbitmq.com/install-windows.html 打开安装一路下 ...

  8. Paper-[arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression

    [arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression ABSTRACT 作者在 ...

  9. C++中static和const关键字的作用

    static关键字至少有下列几个作用: 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值: 在模块内的static全局变量 ...

  10. Uva 11324 The Largest Clique【强连通 DAG动规 spfa】

    白书上的例题 做一遍tarjan后,缩点,每一个scc节点的权为它的结点数,做一次DAG上的动规,求出路径上的最大点权和,就可以了 #include<cstdio> #include< ...