小贝喜欢玩卡牌游戏。某个游戏体系中共有N种卡牌,其中M种是稀有的。小贝每次和电脑对决获胜之后都会有一个抽卡机会,这时系统会随机从N种卡中选择一张给小贝。普通卡可能多次出现,而稀有卡牌不会被重复抽到。小贝希望收集到K种稀有卡牌,她想知道期望需要多少次获胜才能实现这个目标。
解析:
#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\n", ++kase, res);
}
return 0;
}
总结:
拿k个就应该要想到 先考虑拿1个的,然后去分析
有两点值得学习: 1、在化出E的式子后 n趋近于无穷大的一个简化式子的过程是我欠缺的 2、K > 1 时的分解子问题
自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。