题意
给定 n n n,求 [ 1 , 2 n ] [1,2n] [1,2n]的全排列中,满足
有至少 n n n个 i i i满足 p i + 1 > p i p_{i+1}>p_i pi+1>pi的排列有多少种??
发现存在 k ( k > = n ) k(k>=n) k(k>=n)个 i i i满足 p i + 1 > p i p_{i+1}>p_i pi+1>pi
也就是存在 k ( k < n ) k(k<n) k(k<n)个 i i i不满足 p i + 1 > p i p_{i+1}>p_i pi+1>pi
条件是对称的,答案是所有排列数的一般
也就是 ( 2 n ) ! 2 \frac{(2n)!}{2} 2(2n)!
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 3e5+10;
const int mod = 1e9+7;
int quick(int x,int n)
{
int ans = 1;
for( ; n ; n>>=1,x=x*x%mod )
if( n&1 ) ans = ans*x%mod;
return ans;
}
int n,fac[maxn];
signed main()
{
int t; cin >> t;
fac[0] = 1;
for(int i=1;i<=200000;i++) fac[i] = fac[i-1]*i%mod;
while( t-- )
{
cin >> n;
cout << fac[n*2]*quick( 2,mod-2 )%mod << endl;
}
}