?
这题根据容斥原理可以推出公式:
期望P=((m^n-(m-1)^n)*m+((m-1)^n-(m-2)^n)*(m-1)+.......+(1^n-0^n)*1)/m^n;
这个公式还是挺容易推出来的。。从1到m的n次方可以用快速幂求出来。但是一个问题是数太大了,100000^10^5是一个有500W位的数字。。即使转换成double也存不下。那这时候应该怎么办呢。可以对公式进行化简。都对除数约分。
公式就成了:
期望P=((m/m)^n-((m-1)/m)^n)*m+(((m-1)/m)^n-((m-2)/m)^n)*(m-1)+....+((1/m)^n-(0/m)^n)*1).
这样的话大数据就不存在了。然后用快速幂求幂。时间复杂度m^lgn,已经足够了。
代码如下:
?
#include
#include
#include
#include
#include
#include
#include
#include
?