码迷,mamicode.com
首页 > 其他好文 > 详细

zznu-(告辞)卡特兰数

时间:2018-07-27 14:40:44      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:spring   data-   i++   targe   while   min   ace   inf   lan   

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-(告辞)卡特兰数

标签:spring   data-   i++   targe   while   min   ace   inf   lan   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!