首页 > 其他分享 >牛客题解 卡牌游戏

牛客题解 卡牌游戏

时间:2022-09-21 03:33:13浏览次数:89  
标签:infty frac 题解 sum 卡牌 times 牛客 lim +...+

链接:https://ac.nowcoder.com/acm/problem/19777
来源:牛客网

题解

作者 岛田小雅

在这里先贴一下 OI Wiki 上期望的定义

根据期望的定义和题意,我们可以这样去思考这道高中数学题:

令抽到第 \(1\) 张稀有卡是事件 \(X_1\),我们令事件 \(Y_i\) 是抽第 \(i\) 张卡时能够抽到第 \(1\) 张稀有卡。很容易就能得出这个随机事件发生的概率 \(P(Y_i) = (\frac{N-M}{N})^{i-1}\times{\frac{M}{N}}\)。

那么事件 \(Y_i\) 的期望就是:

\[E(Y_i)=i\times{(\frac{N-M}{N})^{i-1}\times{\frac{M}{N}}} \]

然后因为我们可以无限抽卡,那不妨设总共有 \(n\) \((n\to\infty)\) 种结果。

这样一来,根据期望的线性性,抽到第 \(1\) 张稀有卡的期望就是:

\[E(X_1) = \lim_{n\to{\infty}}\sum\limits_{i=1}^nE(Y)=\lim_{n\to{\infty}}\sum\limits_{i=1}^n(i\times(\frac{N-M}{N})^{i-1}\times{\frac{M}{N}}) \]

那我们怎么算这个极限呢?首先翻开我们的高等数学上册……

\(\sum\) 这个符号对于初学者(比如我)来说比较不方便观察,我们可以把上面的式子展开成这样:

\[E(X_1) = \lim_{n\to{\infty}}(1\times(\frac{N-M}{N})^0\times{\frac{M}{N}}+2\times(\frac{N-M}{N})^1\times{\frac{M}{N}}+...+n\times(\frac{N-M}{N})^{n-1}\times{\frac{M}{N}}) \]

然后把 \(\frac{M}{N}\) 提出去:

\[E(X_1) = \frac{M}{N}\times\lim_{n\to{\infty}}(1\times(\frac{N-M}{N})^0+2\times(\frac{N-M}{N})^1+3\times(\frac{N-M}{N})^2+...+n\times(\frac{N-M}{N})^{n-1}) \]

\[S=1\times(\frac{N-M}{N})^0+2\times(\frac{N-M}{N})^1+3\times(\frac{N-M}{N})^2+...+n\times(\frac{N-M}{N})^{n-1}\label{5}\\ \]

那么

\[\frac{N-M}{N}\times{S}=1\times(\frac{N-M}{N})^1+2\times(\frac{N-M}{N})^2+3\times(\frac{N-M}{N})^3+...+n\times(\frac{N-M}{N})^n\label{6}\\ \]

\((5)-(6)\) (错位相减法)得:

\[\frac{M}{N}\times{S}=(\frac{N-M}{N})^0+(\frac{N-M}{N})^1+(\frac{N-M}{N})^2+...+(\frac{N-M}{N})^{n-1}-(\frac{N-M}{N})^n \]

\[S=\frac{N}{M}\times((\frac{N-M}{N})^0+(\frac{N-M}{N})^1+(\frac{N-M}{N})^2+...+(\frac{N-M}{N})^{n-1}-(\frac{N-M}{N})^n) \]

所以:

\[E(X_1) = \lim_{n\to{\infty}}((\frac{N-M}{N})^0+(\frac{N-M}{N})^1+(\frac{N-M}{N})^2+...+(\frac{N-M}{N})^{n-1}-(\frac{N-M}{N})^n) \]

好的然后我们把 lim(n->inf)(sum[((N-M)/N)^(i-1),{i,1,n}]-((N-M)/N)^n) 输入 Wolfram|Alpha 网站中就可以得到答案(啪)。

最终得到 \(E(X_1)=\frac{N}{M}\)。

接下来我们考虑抽第 \(2\) 张稀有卡的期望,这次事件 \(Y_i\) 的期望是:

\[E(Y_i)=i\times{(\frac{N-M}{N-1})^{i-1}\times{\frac{M-1}{N-1}}} \]

同 \(E(X_1)\) 可得 \(E(X_2) = \frac{N-1}{M-1}\)。

同理可得 \(E(X_k)=\frac{N-K+1}{M-K+1}\)。

再根据期望的线性性,令抽到 \(K\) 张稀有卡为事件 \(Z\)。

\[E(Z)=\sum\limits_{i=1}^KE(X_i) \]

\[E(Z)=\frac{N}{M}+\frac{N-1}{M-1}+...+\frac{N-K+1}{M-K+1} \]

然后别化简了直接让计算机帮忙跑吧再算下去孩子死了

AC 代码

作者 岛田小雅
#include <bits/stdc++.h>
using namespace std;

int t;
int n, m, k;
int cnt;
double ans;

int main()
{
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cout << setiosflags(ios::fixed) << setprecision(7); 
    cin >> t;
    while(++cnt <= t)
    {
        ans = 0;
        cin >> n >> m >> k;
        for(int i = 0; i < k; i++) ans += (double)(n-i)/(m-i);
        cout << "Case #" << cnt << ": " << ans << '\n';
    }
    return 0;
}

标签:infty,frac,题解,sum,卡牌,times,牛客,lim,+...+
From: https://www.cnblogs.com/CasseShimada/p/16714270.html

相关文章

  • Mac系统用Maven本地引入jar包报错问题解决
    打包命令mvninstall:install-file-Dfile=/Users/用户名/tool/selenium-server-standalone-3.9.1.jar-DgroupId=org.selenium-DartifactId=selenium-server-standalone......
  • CSP-S模拟6 题解
    开个坑,今后我要写题解了!A.玩水挺有趣的一道题,我们首先从\(2\)条路径的情况考虑符合答案的路径一定满足这种格式:两条路径先重合,再分开,最后再重合观察一下,注意到第一......
  • CF1720E Misha and Paintings 题解
    神仙2700。首先统计出原数组中不同元素个数记作\(cnt\),如果\(cnt\lek\)说明元素个数不够,由于一次只能加一个颜色因此答案就是\(k-cnt\)。然后接下来要证明一个结论......
  • 牛客网-SQL专项训练18
    ①在下列sql语句错误的是?B 解析:在sql中若要取得NULL,则必须通过IS NULL或者IS NOT NULL进行获取,无法直接使用等号。一个等号(=)表示把1赋值给变量啊==:称为等值符,当......
  • Codeforces Round #821(Div.2) (A-C) 题解
    CodeforcesRound#821(Div.2)(A-C)  A.ConsecutiveSum大致题意给定一组共n个数据,如果俩个数的下标在modk意义下同余,则可以交换a[I]和a[j] ,求操作后一段......
  • Luogu T273083 新的题目 题解
    怕放洛谷有人看,就搬过来了。本题解提供一个\(O(qn)\)的做法(实际上是暴力的优化)。先考虑暴力求解。对于每个操作,要求代价\(W\times(\sum_{i\inX}^{i}w[i]\times......
  • CF1363F题解
    好妙的dp-1的情况就是字母构成的可重集不同我们将一次操作抽象成将一个字符向前移动若干格我们设f[i][j]表示s串到了第i个字母,t串到了第j个字母的最小操作次数1.将第i......
  • Codeforces #821 Div2(A~D2)题解
    CF#821Div2AConsecutiveSum题目:​ 选择\(i\)和\(j\),如果\(j=i+xk(x=R)\),可以交换\(i,j\)。任意选择一段长度为k的相加。思路:​ 题目等价于在下标\(mod\)k相同......
  • CGR1 简要题解
    G.Tree-Tac-Toe瞎扯:首先一看黑就不可能赢,最多争个平。若有度数大于\(3\)的点白直接赢了。若一个点度数为\(3\),且只有不多于\(1\)端是叶子,白也赢了。所以现在树的形......
  • js精度计算问题解决,Jsutil库源码
    为什么会存在浮点数计算精度丢失问题,这个原因不再过多赘述; JS中如何解决精度计算问题,大不部分人都知道升幂再降幂的解决方案; 但是如果直接升幂也会出现精度问题,且需......