本题为卡特兰数+取余
#include<bits/stdc++.h>
using namespace std;
long long n,ans;
long long a=1,b=1,j,p=1e9+7;
long long inv[114514];
int main()
{
cin>>n;
inv[1]=1;
for(int i=2;i<=114514;i++)
inv[i]=(p-p/i)*inv[p%i]%p;
for(int i=2*n;i>=n+1;i--)
{
j++;
a=a*i*inv[j]%p;
}
a=a*inv[n+1]%p;
cout<<a;
return 0;
}
应该是取余出错了,但不会改