题意: 给定两个数n和m,求在\([1,2^n)\)范围内包含至少两个相同数的概率。 思路: 其实也挺好想的,我们首先推出概率: \(A(2^n,m)/2^{nm}\) 然后化简,考虑一个结论: 对于任意的\(x\),\(1<=x<=2^n\),\(x\)和\(2^n-x\)包含的2个数相同。 那么式子分子就可以是求\((m-1)!\)的2的个数。 那么我们暴力即可。 然后就是你可以看出当\(m>10^6+3\)时,乘积中必然有一项是\(m\),那么结果一定为0. 搞定!