当前位置: 首页 > 工具软件 > Cayley > 使用案例 >

UVA 10843 Anne's game (Cayley定理)

乌修筠
2023-12-01

题意:求n个点,可以连接出多少种不同的生成树

Cayley定理在组合数学上的应用

以下从百度百科摘一段:

过n个有标志顶点的树的数目等于n^(n-2)。
定理的理解:
此定理说明用n-1条边将n个一致的顶点连接起来的连通图的个数为n^(n-2),也可以这样理解,将n个城市连接起来的树状公路网络有n^(n-2)种方案。所谓树状,指的是用n-1条边将n个顶点构成一个连通图。当然,建造一个树状的公路网络将n个城市连接起来,应求其中长度最短、造价最省的一种,或效益最大的一种。Cayley定理只是说明可能方案的数目。

定理的一个证明:

【学习总结】数学-cayley定理 - 卧槽,考试了~ - 博客频道 - CSDN.NET

#include <cstdio>

#define i64 long long

i64 Cal (i64 s,i64 index,i64 mod)
{
	i64 ans=1;
	s%=mod;
	while (index>=1)
	{
		if ((index&1)==1)   //奇数
			ans=(ans*s)%mod;
		index>>=1;
		s=s*s%mod;
	}
	return ans;
}

int main ()
{
	int T;
	scanf("%d",&T);
	for (int Cas=1;Cas<=T;Cas++)
	{
		i64 n;
		scanf("%lld",&n);
		printf("Case #%d: %lld\n",Cas,Cal(n,n-2,2000000011));
	}
	return 0;
}


 类似资料: