题目链接:
http://acm.hdu.edu.cn/contests/contest_show.php?cid=710分析:
这就是一道打表水题啊啊啊!!!!!!!!!!!!!!!!!!!
看完题,队友告诉我是stirling数,我拿去研究了3个小时没有化简出公式来。后来发现就是一道打表题。题解:
n个不同的球放进m个不同的箱子里,然后求下面这个式子的期望
V=∑mi=1(Xi−X¯)2m , Xi 表示某种情况下每一个箱子含有多少个球, X¯ 表示 nm
自己打表算出前几组数就能得出递推公式: n×(m−1)m2AC代码:
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
typedef long long LL;
LL n,m;
LL gcd(LL a, LL b)
{
return b==0? a: gcd(b, a%b);
}
int main()
{
while(~scanf("%lld%lld", &n, &m) && (n+m))
{
LL a = n*(m-1);
LL b = m*m;
LL c = gcd(a,b);
a/=c;
b/=c;
//cout << a1 << " " <<a2 <<" "<<b2 <<endl;
cout << a << "/" <<b<< endl;
}
}