20160329 HDU1023 Train Problem II(卡塔兰数)

本文介绍卡塔兰数的基本概念及其在计算机科学领域的多种应用,如出栈次序、括号化、凸多边形的三角划分等。同时提供了一个通过递推公式计算卡塔兰数的C++实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本的卡塔兰数应用:出栈次序,括号化,凸多边形的三角划分,二叉树的构造等等。

利用递推公式h(n)=h(n-1)*(4n-2)/(n+1)求解

#include <iostream>
#include <string.h>
using namespace std;

char a[101][10000]={"null","1","2","5","14","42","132","429","1430","4862","16796","58786","208012","742900","2674440","9694845","35357670","129644790","477638700","1767263190","6564120420","24466267020","91482563640","343059613650","1289904147324","4861946401452","18367353072152","69533550916004","263747951750360","1002242216651368","3814986502092304","14544636039226909","55534064877048198","212336130412243110","812944042149730764","3116285494907301262","11959798385860453492","45950804324621742364","176733862787006701400","680425371729975800390","2622127042276492108820","10113918591637898134020","39044429911904443959240","150853479205085351660700","583300119592996693088040","2257117854077248073253720","8740328711533173390046320","33868773757191046886429490","131327898242169365477991900","509552245179617138054608572","1978261657756160653623774456","7684785670514316385230816156","29869166945772625950142417512","116157871455782434250553845880","451959718027953471447609509424","1759414616608818870992479875972","6852456927844873497549658464312","26700952856774851904245220912664","104088460289122304033498318812080","405944995127576985730643443367112","1583850964596120042686772779038896","6182127958584855650487080847216336","24139737743045626825711458546273312","94295850558771979787935384946380125","368479169875816659479009042713546950","1440418573150919668872489894243865350","5632681584560312734993915705849145100","22033725021956517463358552614056949950","86218923998960285726185640663701108500","337485502510215975556783793455058624700","1321422108420282270489942177190229544600","5175569924646105559418940193995065716350","20276890389709399862928998568254641025700","79463489365077377841208237632349268884500","311496878311103321137536291518809134027240","1221395654430378811828760722007962130791020","4790408930363303911328386208394864461024520","18793142726809884575211361279087545193250040","73745243611532458459690151854647329239335600","289450081175264899454283846029490767264392230","1136359577947336271931632877004667456667613940","4462290049988320482463241297506133183499654740","17526585015616776834735140517915655636396234280","68854441132780194707888052034668647142985206100","270557451039395118028642463289168566420671280440","1063353702922273835973036658043476458723103404520","4180080073556524734514695828170907458428751314320","16435314834665426797069144960762886143367590394940","64633260585762914370496637486146181462681535261000","254224158304000796523953440778841647086547372026600","1000134600800354781929399250536541864362461089950800","3935312233584004685417853572763349509774031680023800","15487357822491889407128326963778343232013931127835600","60960876535340415751462563580829648891969728907438000","239993345518077005168915776623476723006280827488229600","944973797977428207852605870454939596837230758234904050","3721443204405954385563870541379246659709506697378694300","14657929356129575437016877846657032761712954950899755100","57743358069601357782187700608042856334020731624756611000","227508830794229349661819540395688853956041682601541047340","896519947090131496687170070074100632420837521538745909320"};
int main()
{
    int n;
    while(cin>>n)
    {
        cout<<a[n]<<endl;
    }
    return 0;
}


一、综合实战—使用极轴追踪方式绘制信号灯 实战目标:利用对象捕捉追踪和极轴追踪功能创建信号灯图形 技术要点:结合两种追踪方式实现精确绘图,适用于工程制图中需要精确定位的场景 1. 切换至AutoCAD 操作步骤: 启动AutoCAD 2016软件 打开随书光盘中的素材文件 确认工作空间为"草图与注释"模式 2. 绘图设置 1)草图设置对话框 打开方式:通过"工具→绘图设置"菜单命令 功能定位:该对话框包含捕捉、追踪等核心绘图辅助功能设置 2)对象捕捉设置 关键配置: 启用对象捕捉(F3快捷键) 启用对象捕捉追踪(F11快捷键) 勾选端点、中心、圆心、象限点等常用捕捉模式 追踪原理:命令执行时悬停光标可显示追踪矢量,再次悬停可停止追踪 3)极轴追踪设置 参设置: 启用极轴追踪功能 设置角度增量为45度 确认后退出对话框 3. 绘制信号灯 1)绘制圆形 执行命令:"绘图→圆→圆心、半径"命令 绘制过程: 使用对象捕捉追踪定位矩形中心作为圆心 输入半径值30并按Enter确认 通过象限点捕捉确保圆形位置准确 2)绘制直线 操作要点: 选择"绘图→直线"命令 捕捉矩形上边中点作为起点 捕捉圆的上象限点作为终点 按Enter结束当前直线命令 重复技巧: 按Enter可重复最近使用的直线命令 通过圆心捕捉和极轴追踪绘制放射状直线 最终形成完整的信号灯指示图案 3)完成绘制 验证要点: 检查所有直线是否准确连接圆心和象限点 确认极轴追踪的45度增量是否体现 保存绘图文件(快捷键Ctrl+S)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值