首页 > 其他 > 详细

zznu-(告辞)卡特兰数

时间:2018-07-27 13:48:25      阅读:229      评论:0      收藏:0      [点我收藏+]

2119 : 告辞

时间限制:1 Sec 内存限制:256 MiB
提交:436 答案正确:107

 

题目描述

整个世界都在散发着恋爱的恶臭,只有spring依旧保持着单身贵族的清香。

spring单身久了,煮饺子看见两个黏在一起的都要强行分开,所以在看到凸n边形的时候,总是习惯性的拆分成n-2个小三角形,毕竟第三者插足是spring最喜闻乐见的,那么给出一个凸n边形,有多少种方法能够将凸n边形分解成n-2个小三角形。

输入

输入一个正整数n,表示有个凸n变形  2<n<30

输出

输出有多少种方法能够将凸n边形分解成n-2个小三角形。

样例输入

复制
3
5

样例输出

复制
1
5
思路:就是用卡特兰数的递推式打表,emmmm 就是下面这个了,这个要理解一下了0.0~下面附上代码
技术分享图片

 

 1     #include <cstdio>
 2     #include <cstring>
 3     #include <algorithm>
 4     #include <iostream>
 5     #include <queue>
 6     #include <vector>
 7     using namespace std;
 8     typedef unsigned long long ll;
 9     const int N = 1e5+10;
10     ll a[30]={0};
11     void catalan()
12     {
13         a[2] = 1;
14         a[3] = 1;
15         for(ll i=4; i<30; i++)
16         {
17             for(ll j=2; j<i; j++)
18             {
19                 a[i] += a[j]*a[i-j+1];
20             }
21         }
22     }
23     int main()
24     {
25         catalan();
26         ll n;
27         while(~scanf("%lld", &n))
28         {
29          cout<<a[n]<<endl;
30         }
31         return 0;
32     }

 


 


zznu-(告辞)卡特兰数

原文:https://www.cnblogs.com/mashen/p/9377022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!