小贝喜欢玩卡牌游戏。某个游戏体系中共有N种卡牌,其中M种是稀有的。小贝每次和电脑对决获胜之后都会有一个抽卡机会,这时系统会随机从N种卡中选择一张给小贝。普通卡可能多次出现,而稀有卡牌不会被重复抽到。小贝希望收集到K种稀有卡牌,她想知道期望需要多少次获胜才能实现这个目标。
解析:
这个解析转自 :https://blog.csdn.net/Krone_/article/details/82929550#H__122
#include <bits/stdc++.h> using namespace std; const int maxn = 10010, INF = 0x7fffffff; int main() { int n, m, k; int T, kase = 0; cin >> T; while(T--) { cin >> n >> m >> k; double res = 0; for(int i = 0; i < k; i++) { res += (n - i) / (double) (m - i); } printf("Case #%d: %.6f ", ++kase, res); } return 0; }
总结:
拿k个就应该要想到 先考虑拿1个的,然后去分析
有两点值得学习: 1、在化出E的式子后 n趋近于无穷大的一个简化式子的过程是我欠缺的 2、K > 1 时的分解子问题