BZOJ4706 B君的多边形 (超级卡特兰数/施罗德数)

题目

权限题QAQ

题解

超级卡特兰数/施罗德数

CODE

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000005;
const int mod = 1e9 + 7;
int inv[MAXN], f[MAXN], n;
int main () {
    scanf("%d", &n);
    inv[0] = inv[1] = f[0] = f[1] = 1;
    for(int i = 2; i <= n; ++i) inv[i] = 1ll*(mod-mod/i)*inv[mod%i]%mod;
    for(int i = 2; i <= n-2; ++i)
        f[i] = ((6ll*i-3)*f[i-1] - (i-2ll)*f[i-2]) % mod * inv[i+1] % mod;
    printf("%d\n", (f[n-2]+mod)%mod);
}
发布了367 篇原创文章 · 获赞 239 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Ike940067893/article/details/102820210
今日推荐