比上一题更加板。
仍然考虑组合类 \((T,|\cdot|)\),\(T(x) = \sum_a x^{|a|}\),\(|\cdot|\) 为二叉树大小。
\(m\) 叉树,所以:
\[T = x(1 + T)^m \]仍然拉反,\([x^n]T = \frac{1}{n}[u^{n-1}](1+u)^{nm} = \frac{\begin{pmatrix}nm \\ n-1\end{pmatrix}}{n}\)。
直接算即可。
#include<bits/stdc++.h>
#define int long long
const int mod = 10007;
using namespace std;
int n,m;
int fact[40005];
int fpow(int a,int b)
{
int r = 1;
while(b)
{
if(b & 1)r = r * a % mod;
a = a * a % mod;
b >>= 1;
}
return r % mod;
}
signed main()
{
cin>>n>>m;
fact[0] = 1;
for(int i=1;i<=n*m;i++)fact[i] = fact[i-1] * i % mod;
int c = fact[n*m] * fpow(fact[n-1],mod-2) % mod * fpow(fact[n*m-n+1],mod-2) % mod * fpow(n,mod-2) % mod;
cout<<c;
return 0;
}
标签:frac,nm,int,long,数量,P2767,mod
From: https://www.cnblogs.com/AysctLucky/p/18007244