题意
n个点问有多少种有顺序的连接方法把这些点连成一棵树。
(n<=106)
题解
了解有关prufer编码与Cayley定理的知识。
可知带标号的无根树有nn-2种。然后n-1条边有(n-1)!的先后连接顺序。
所以答案为nn-2(n-1)!
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 const int mod=9999991; 8 long long ans,n; 9 int main(){ 10 scanf("%lld",&n); 11 ans=1; 12 for(long long i=1;i<=n-2;i++){ 13 ans*=n; 14 ans%=mod; 15 } 16 for(long long i=1;i<=n-1;i++){ 17 ans*=i; 18 ans%=mod; 19 } 20 printf("%lld",ans); 21 return 0; 22 }