关于组合数的计算的一些疑惑
  • 板块学术版
  • 楼主ming2023
  • 当前回复10
  • 已保存回复11
  • 发布时间2024/1/10 10:37
  • 上次更新2024/1/10 17:06:36
查看原帖
关于组合数的计算的一些疑惑
1103464
ming2023楼主2024/1/10 10:37

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;
}
2024/1/10 10:37
加载中...