传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1430
【题解】
考虑带标号无根树计数,总共是$n^{n-2}$种。
考虑顺序问题,一共是$(n-1)!$种,所以答案是$n^{n-2} * (n-1)!$。
复杂度$O(n)$
# include <stdio.h>
# include <
string.h>
# include <iostream>
# include <algorithm>
// # include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
const int M = 5e5 +
10;
const int mod =
9999991;
int n;
ll ans =
1;
int main() {
scanf("%d", &
n);
for (
int i=
1; i<=n-
2; ++i) ans = ans * n %
mod;
for (
int i=
1; i<n; ++i) ans = ans * i %
mod;
cout <<
ans;
return 0;
}
View Code
转载于:https://www.cnblogs.com/galaxies/p/bzoj1430.html
相关资源:JAVA上百实例源码以及开源项目