题目链接:【http://acm.scu.edu.cn/soj/problem.action?id=4552】

题意:给你n种卡牌,每种卡牌有无限多个,每次从中抽取一张卡牌,问:1、集齐这n种卡牌需要抽取次数的期望,2、抽取m次,刚好(要保证最后一抽牌刚好满足抽了n张不同的牌)集齐n张卡牌的概率。

数据范围:n<=15,m<=35;(尼玛,比赛的时候数据范围都不给清楚,只在discuss里面说了一下,还不通知)。

题解:对于第一问:公式n*(1+1/2+1/3+....+1/n);第二问:dp[i][j]:表示抽取i次,得到j张卡牌的概率。dp[i][j]->dp[i+1][j+1]+(n-j)/j;dp[i][j]->dp[i+1][j]+(j/n);

#include<bits/stdc++.h>
using namespace std;
int n, m;
double dp[][];
int main ()
{
while(~scanf("%d%d", &n, &m))
{
if(n == )//当n等于0的时候,只有m也等于0的时候有意义
{
if(m == )
printf("0.000000 1.000000\n");
else
printf("0.000000 0.000000\n");
continue;
}
double ans1 = 0.0;
for(int i = ; i <= n; i++)//期望
ans1 += double(1.0 / (double)i);
ans1 *= (double)n;
if(n > m)//非法状态
{
printf("%.6f 0.000000\n", ans1);
continue;
}
if(n == )//当n等于1的时候,只有m也等于1的时候有意义
{
if(m == )
printf("%.6f 1.000000\n", ans1);
else
printf("%.6f 0.000000\n", ans1);
continue;
}
for(int i = ; i <= ; i++)
for(int j = ; j <= ; j++)
dp[i][j] = 0.0;
dp[][] = 1.0;//dp[i][j]:表示抽取i次,得到j张卡牌的概率。
for(int i = ; i <= m; i++) //选的次数
for(int j = ; j <= n && j <= n; j++) //得到的卡牌
{
dp[i + ][j + ] += dp[i][j] * double(double(n - j) / double(n));
dp[i + ][j] += dp[i][j] * double(double(j) / double(n));
}
//要保证最后一抽牌刚好满足抽了n张不同的牌
printf("%.6f %.6f\n", ans1, dp[m - ][n - ]*double(1.0 / (double)n));
}
return ;
}

SOJ 4552 [期望,概率]的更多相关文章

  1. HDU 3853 期望概率DP

    期望概率DP简单题 从[1,1]点走到[r,c]点,每走一步的代价为2 给出每一个点走相邻位置的概率,共3中方向,不动: [x,y]->[x][y]=p[x][y][0] ,  右移:[x][y ...

  2. 【BZOJ 3652】大新闻 数位dp+期望概率dp

    并不难,只是和期望概率dp结合了一下.稍作推断就可以发现加密与不加密是两个互相独立的问题,这个时候我们分开算就好了.对于加密,我们按位统计和就好了;对于不加密,我们先假设所有数都找到了他能找到的最好的 ...

  3. 【BZOJ 3811】玛里苟斯 大力观察+期望概率dp+线性基

    大力观察:I.从输出精准位数的约束来观察,一定会有猫腻,然后仔细想一想,就会发现输出的时候小数点后面不是.5就是没有 II.从最后答案小于2^63可以看出当k大于等于3的时候就可以直接搜索了 期望概率 ...

  4. 【BZOJ 3925】[Zjoi2015]地震后的幻想乡 期望概率dp+状态压缩+图论知识+组合数学

    神™题........ 这道题的提示......(用本苣蒻并不会的积分积出来的)并没有 没有什么卵用 ,所以你发现没有那个东西并不会 不影响你做题 ,然后你就可以推断出来你要求的是我们最晚挑到第几大的 ...

  5. 【NOIP模拟赛】黑红树 期望概率dp

    这是一道比较水的期望概率dp但是考场想歪了.......我们可以发现奇数一定是不能掉下来的,因为若奇数掉下来那么上一次偶数一定不会好好待着,那么我们考虑,一个点掉下来一定是有h/2-1个红(黑),h/ ...

  6. BZOJ2337: [HNOI2011]XOR和路径 期望概率dp 高斯

    这个题让我认识到我以往对于图上期望概率的认识是不完整的,我之前只知道正着退还硬生生的AC做过的所有图,那么现在让我来说一下逆退,一般来说对于概率性的东西都只是正推,因为有了他爸爸才有了他,而对于期望性 ...

  7. BZOJ1415: [Noi2005]聪聪和可可 最短路 期望概率dp

    首先这道题让我回忆了一下最短路算法,所以我在此做一个总结: 带权: Floyed:O(n3) SPFA:O(n+m),这是平均复杂度实际上为O(玄学) Dijkstra:O(n+2m),堆优化以后 因 ...

  8. 期望概率DP

    期望概率DP 1419: Red is good ​ Description ​ 桌面上有\(R\)张红牌和\(B\)张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付 ...

  9. LightOJ 1030 Discovering Gold(期望 概率)

    正推,到达i的概率为p[i],要注意除了1和n外,到达i的概率并不一定为1 概率表达式为p[i] += p[j] / min(n - j, 6) 从j带过来的期望为exp[i] += exp[j] / ...

随机推荐

  1. Windows下搭建网络代理

    场景:有些场景下会出现局域网内的某些网段可能由于安全限制,不能访问外网,此时可以通过安装一些工具来实现借助局域网内某些能够上外网的电脑来实现网络代理的功能.以下工具均是使用于Window环境. 服务端 ...

  2. 如何构建一个很棒网站页脚(Website Footer)

    对于很多人来说,制作页脚是只是设计师顺手而为的任务.它似乎很容易,似乎可以忽略不计.因为很多人都觉得网站底部很少人会去看,而且页脚链接的所有链接的点击率(CTR)都是最低的,何必呢? 真是这样的吗?下 ...

  3. 【BZOJ4565】【HAOI2016】字符合并 [状压DP][区间DP]

    字符合并 Time Limit: 20 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description 有一个长度为 n 的 01 串,你 ...

  4. C语言与汇编语言对照分析

    游戏通常会包含各种各样的功能,如战斗系统.UI渲染.经济系统.生产系统等,每个系统又包含各式各样子功能,如伤害判定.施法.使用道具.角色移动.玩家之间交易等等.这些游戏功能在代码实现中往往少不了条件判 ...

  5. redis集群离线安装环境搭建过程

    本文是继上次redis集群重新整理的离线搭建环境,关于前期的redis集群准备工作参考我另一篇博客: http://www.cnblogs.com/qlqwjy/p/8566573.html 由于集群 ...

  6. 混合式App开发 Apicloud 官方iPhone X 适配

    iPhone X 适配 由于iPhone X的特殊造型,为了方便开发者对iPhone X进行适配,苹果在iOS 11中引入了Safe Area的概念,引擎也在api对象下添加了safeArea属性和s ...

  7. 148.Sort List---链表排序(冒泡、归并)

    题目链接 题目大意:对链表进行排序,要求时间复杂度是o(nlgn). 法一:冒泡,不交换结点,而交换结点中的数值.超时了.代码如下: public ListNode sortList(ListNode ...

  8. Deep Learning基础--理解LSTM网络

    循环神经网络(RNN) 人们的每次思考并不都是从零开始的.比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始.你的记忆是有 ...

  9. [ python ] FTP作业进阶

    作业:开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp se ...

  10. C# 随笔 【ToList().Foreach()和Foreach()】

    1. 最近在做一个Socket通讯的例子,但是如果使用UTF-8编码传输中文的话取和的会不一样.早上做了测试 . string str = "a我..";看代码中间是一个英文,一个 ...