SPOJ - TRNGL 卡特兰数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/monochrome00/article/details/79970386

题目链接<https://vjudge.net/problem/SPOJ-TRNGL>

题意:

给一个n边的凸多边形,用n-3条不相交的线将图形分为n-2个三角形,问有多少种分法。

题解:

卡特兰数。


#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL dp[1005];
int main(){
    dp[2]=dp[3]=1;
    for(LL i=4;i<=1000;i++){
        for(LL j=2,k=i-1;j<i;j++,k--){
            dp[i]=(dp[i]+dp[j]*dp[k])%100007;
        }
    }
    LL n,x;
    scanf("%lld",&n);
    while(n--){
        scanf("%lld",&x);
        printf("%lld\n",dp[x]);
    }
}

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页