RT,在数据规模较大&模意义下的时候 递推式的复杂度近似为2^N 远高于后者的kNlogN(考虑了逆元)
但是在实际情景中,数据规模都会很小+有很多的反复调,在这个情景下,下面两个方案哪个计算效率更高/更快呢?
long long C(int m,int n)
{
if (m==0) return 1;
if (n==m) return 1;
if (n<m) return 0;
return C(m-1,n-1)+C(m,n-1);
}
long long C(int m,int n)
{
if (m==0) return 1;
if (n==m) return 1;
if (n<m) return 0;
long long mut=1;
for(int i=n;i>n-m;i--)mut*=i;
for(int i=m;i>1;i--)mut/=i;
return mut;
}