POJ - 1095 Trees Made to Order 卡特兰数+递归

非线性动力学_用MatCont分析非线性动力学方程组(一) 写在前面:笔者打算写两到三篇系列文章介绍MatCont,此为第一篇《用MatCont分析非线性动力学方程组(一)》。MatCont是一个基于Matlab而开发的免费工具包,专门用来做非线性动力学模型分叉、向量场、周期性等分析,符号(连续性)运算和数值(离散性)运算均适用。该工具的开发及研究项目由比利时Ghent大学的Willy Govaerts教授、荷兰Utrecht大学的Yuri Kuznets... 阅读详情

题目:


求第n棵二叉树

思路:用卡特兰数确定一共有几个节点,然后递归输出

代码:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<algorithm>
#include<ctime>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<numeric>
using namespace std;
#define LL long long
#define ULL unsigned long long
#define INF 0x3f3f3f3f3f3f3f3f
#define mm(a,b) memset(a,b,sizeof(a))
#define PP puts("*********************");
template<class T> T f_abs(T a){ return a > 0 ? a : -a; }
template<class T> T gcd(T a, T b){ return b ? gcd(b, a%b) : a; }
template<class T> T lcm(T a,T b){return a/gcd(a,b)*b;}
// 0x3f3f3f3f3f3f3f3f

LL h[30];
void Init(){
    h[0]=h[1]=1;
    for(int i=2;i<=25;i++)
        h[i]=h[i-1]*(4*i-2)/(i+1);
}
void dfs(int k,int pos){
    if(k==1){
        printf("X");
        return;
    }
    if(pos<=h[k-1]){//只有右子树
        printf("X");
        printf("(");
        dfs(k-1,pos);
        printf(")");
        return;
    }
    else if(pos>h[k]-h[k-1]){//只有左子树
        printf("(");
        dfs(k-1,pos-(h[k]-h[k-1]));
        printf(")");
        printf("X");
    }
    else{
        int t=k-1,m;
        for(int i=t;i>=0;i--){
            if(pos>h[t-i]*h[i])
                pos-=h[t-i]*h[i];
            else{
                m=i;
                break;
            }
        }
        printf("(");
        dfs(t-m,pos/h[m]+(pos%h[m]!=0));
        printf(")");
        printf("X");
        printf("(");
        dfs(m,(pos%h[m]==0)?h[m]:(pos%h[m]));
        printf(")");
    }
}
int main(){

    int m,n;
    Init();
    while(~scanf("%d",&n)){
        if(!n)
            break;
        for(int i=1;;i++){
            if(n>h[i]){
                n-=h[i];
            }
            else{
                m=i;
                break;
            }
        }
        dfs(m,n);
        printf("\n");
    }
    return 0;
}


准确率、召回率、f1指标计算的区别 准确率是模型正确预测的样本占总样本的比例。 阅读详情

相关推荐

CVAT自动标注避坑指南:如何解决Nuclio工程创建失败和镜像拉取问题

本文是一份针对CVAT自动标注部署中常见问题的实战排障指南。文章深入剖析了Nuclio工程创建失败的根源,提供了网络配置、服务状态检查等系统性解决方案,并详细讲解了如何解决gcr.io等海外镜像拉取难题,帮助开发者顺利完成CVAT自动标注环境的搭建与部署。

weixin_29207533的博客 231

poj-1095

#include #include using namespace std; int CATALAN[19]={1,1,2,5, 14,42,132,429, 1430,4862,16796, 58786,208012,742900,2674440, 9694845,35357670,129644790,477638700}; int nodeNum; int N;

fyfcauc的专栏 954

HDMI协议介绍(一)--Overview

HDMI全称(High Definition Multimedia Interface)高清多媒体接口,支持在单线缆上传输全数字高清视频和多声道音频。

SlamDunk的博客 2万+

POJ 1095 找规律+递归打印

#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long struct Node { Node *left; Node

Jackyguo1992的专栏 953

深入解析DDR5 RFM机制:从JESD79-5标准到硬件实现

本文深入解析了DDR5内存标准中的关键机制——RFM(Refresh Management)。文章从JESD79-5标准出发,详细阐述了RFM如何通过RAA计数器实现从被动定时到主动响应的智能刷新管理,并探讨了其硬件实现细节、命令调度挑战及系统级设计考量,为芯片设计工程师优化DDR5内存子系统性能与可靠性提供了实践指导。

fff88的博客 486

华为昇腾 Atlas 200I DK A2 开发板编程接口学习入门:系统安装和开发步骤、注意事项与典型案例实战

华为昇腾开发板编程接口指南:从入门到进阶 本文系统介绍了华为昇腾开发板的编程接口体系,涵盖MindXSDK和AscendCL两大核心框架。MindXSDK提供高层封装接口,适合快速搭建视觉应用;AscendCL则是底层接口,需手动管理设备内存。文章详细讲解了: 开发环境搭建步骤,包括系统配置、依赖安装 MindXSDK组件化编程流程(图像分类实例) AscendCL底层开发方法(内存管理、模型推理) 常见问题解决方案和调试技巧 两个典型应用实例(摄像头目标检测和图像分类) 针对小白开发者,推荐从MindXS

bother3000的博客 2423

POJ 1095 解题报告

题目要求:略思路:首先,设拥有N个结点的不同形态的有序二叉树有L[N]棵。L[N]即为卡特兰数。那么:(1).针对这个问题先转换为输入N,求n和k。n表示编号为N的树所拥有的结点数。k表示这棵编号为N的树是拥有结点数为n的树的有序集合的第几棵。我们可以先将Catalan数表打出来:int L[19]={1,1,2,5,14,42,132,429,1430,4862,16796,58

lvlu911的专栏 2688

45 - Android系统源码-crosvm 实战:基于 KVM 的 Rust 安全虚拟机监控器核心技术

摘要:crosvm 是 Google 开发的基于 KVM 的轻量级虚拟机监控器(VMM),采用 Rust 语言编写,专为 ChromeOS 和 Android 设计。其核心特点包括: 安全架构:通过 Rust 的内存安全特性和多进程隔离(每个设备运行在独立沙箱进程)大幅降低攻击面 性能优化:基于 KVM 的硬件虚拟化支持,结合异步 I/O (io_uring/epoll) 实现高效设备模拟 模块化设计:清晰的 trait 抽象层(Hypervisor/Vm/Vcpu)支持跨平台扩展 Android 集成

保持专注,保持热爱 225

poj1095--Trees Made to Order(卡特兰数)

题目链接:点击打开链接 题目大意:按照图中给的编号方式,节点数逐渐增加,所有的点尽量在右子树上,问第m颗树是什么样子的,按照给的模式输出 (左)x(右),如果没有就缺省。 首先对于n个节点的二叉树一共有多少种形态,这刚好符合卡特兰数的值。 h(n) = C(2n,n)/(n+1) = C(2n,n) - C(2n,n-1) = h(n-1)*(4n-2)/(n+1) (递推公式)。按照递推公

随风的专栏 2464

零基础DSP实战TMS320F28035:第九节,ADC比较器&EPWM

ADC比较器框图如下所示:-电压-----------------------------输出-电压A>电压B------------------ 1-电压A

sinat_30943509的博客 2534

【深度学习新浪潮】气候预测模型的研发进展一览(2025年版)

模型类型核心优势适用场景不足ARIMA(统计模型)简单高效、可解释性强短期单变量预测非线性、长时依赖建模差随机森林(机器学习)多特征融合、抗噪声中短期多因素预测空间相关性、时序趋势捕捉弱LSTM(深度学习)长时依赖建模、端到端中长期时序预测物理一致性差、数据需求量大物理知情AI物理规律约束、高可靠性极端天气、长期气候变化模型复杂、计算成本高。

专注:太空算力、AI infra、异构调度、大模型成本工程 527

POJ—1095 Trees Made to Order(卡特兰数+递归)

题目链接 题意: 如图编号,结点数依次增加,每次先对左子树进行递归操作,再对右子树进行递归,用X表示一个节点,每一对括号表示一棵树,以 (左子树)X(右子树) 的形式输出这棵树,当然如果是空树就不输出, 求编号为n的二叉树 思路: 1.下面先提供比较简单好理解的写法 1 首先二叉树的种类数满足卡特兰数,所以有递推关系可得出任意结点的卡特兰数ct[],根据编号找到它的结点数,和在该结点数下...

没有期待的日子反而会顺顺利利 293

FineBI学习总结

交叉表:一组作为行标题显示在表的左部,另一组作为列标题显示在表的顶部。连接到数据,如果数据不满足数据分析的需求,先进行自助数据集处理。数据集分类:DB表、SQL、Excel、自助数据集。分组表:将报表中的数据按相同项合并为一组显示。1、数据准备2、制作仪表板3、分享仪表板。左合并:保留左边全部数据,合并右边。右合并:保留右边全部数据,合并左边。上下拼接:上下拼接到一张表数据。3、如何实现拼表:多表拼一张。分组–业务包–数据集–字段。字段分类:数值、文本和日期。目录–仪表板–数据准备。维度:文本和日期类型。

Rsun2018的博客 1561

POJ 1095 Trees Made to Order 卡特兰数以及递归分治

转载请注明出处,谢谢 http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents           by---cxlove 题目链接 http://poj.org/problem?id=1095 debug到蛋碎的一题,原本是熟悉下卡特兰数,结果卡特兰数部分很水,一直在调试递归 预处理卡特兰数之后,可以推出当前是多少个节点组成的二叉树,也知道

窝不是爱酱,喵~~~~ 3697

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

POJ 1095 Trees Made to Order(卡特兰数+递归)

Description 定义二叉树的编号: 1.空树编号0 2.只有一个节点的树编号为1 3.有m+1个节点的树编号比所有有m个节点的树的编号大 4.对节点数相同的的树,右子树节点数多的树编号小,右子树节点数相同则递归右子树,同样是右子树节点多的树编号小 先给出一个编号n,输出这课二叉树 Input 多组输入,每组用例为一个整数n表示一棵二叉树的编号,以n=0结束输入 Output

ZSQ 1204

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【POJ 1095】Trees Made to Order(卡特兰+递归)

Trees Made to Order Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 7155Accepted: 4094 Description We can number binary trees using the following scheme: The empty tree is numbered 0. The sin

ACMer' 2415

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HDU 1100:Trees Made to Order ← 卡特兰数

本题大意:给定一个二叉树的排序规则,之后输入一个序号,然后按格式约定输出这个序号所对应的二叉树。本题给出的二叉树的排序规则如下: (1)结点个数多的二叉树,序号更“大”; (2)结点个数一样的二叉树,左子树高度高的二叉树,序号更“大”; (3)结点个数一样的二叉树,左子树相同,右子数高度高的二叉树,序号更“大”。

hnjzsyjyj的专栏 1098

POJ 1095 Trees Made to Order

题目大意: 按照题意将数用二叉树的形式表示出来。将二叉树按照要求形式输出。 解题思路: 由于有图示,可以轻易看出这个顺序跟卡特兰数列有关。且对于任意一个树的任意子树来说,右子树相当于分针,左子树相当于秒针。也就是说当右子树要变换到下一种状态时,左子树要将它所能变换的状态全变换完才可以。 下面是代码: #include #include #include #inclu

脑残的孩子只有慢慢学。。 4691

POJ 1095 Trees Made to Order (卡特兰数)

Trees Made to Order Time Limit:1000MS Memory Limit:10000K Total Submissions:6290 Accepted:3619 Description We can number binary trees using the following schem...

anvt77205的博客 143

POJ1095 Trees Made to Order(JAVA)

这题用到了卡特兰数,比较麻烦。关于卡特兰数的基本概念百度一下你就知道。 使用卡特兰数对数组元素进行分组之后,需要具体计算一下要求的是第几组的第几个数,然后向下递归。 首先来看利用卡特兰数分组:   从1开始前4个卡特兰数是 C[1]=1, C[2]=2, C[3]=5, C[4]=14 (C[0]也是有定义的,C[0]=1)   于是我们把第1个元素归为第1组,第2,3个元素归...

ditumao9111的博客 210

POJ 1095 卡特兰数

题目链接POJ 1095 Trees Made to Order 题意:对二叉树按一定规则编号,对给定编号N(1 解析:这是碰到的第一个卡特兰数相关的题,不过涉及不深,只要稍微了解就足够了。算法就是对给定编号,由卡特兰数推出其左右子树编号即可递归得解。难点就是左右子数编号的求解,网上的题解大都是直接应用了如我代码中的公式,并未解释公式的来历,这给像我这样的新手造成了不小的困扰

LG_mind的专栏 896

poj-1095-Trees Made to Order

#include #include #include #include #include #include #define LL long long #define MAXN 550000000 using namespace std; LL dp[201]; LL ans[201]; struct list { LL l,r; }node[51]; void init() { L

Silence的程序实验室 861

POJ 1095 Trees Made to Order 递归

不得不说这是一道非常之好的递归题目 首先,要知道节点数为n的二叉树的种类是卡特兰数 具体解题报告见http://blog.youkuaiyun.com/lvlu911/article/details/5425974

水 1011

pku1095卡特兰数+递归

题目来源:http://poj.org/problem?id=1095 题目分类:卡特兰数与递归此题心得:学习了卡特兰数 时间:2011-7-21Trees Made to OrderTime Limit: 1000MS Memory Limit: 10000KTotal Sub

xuanflyer 2706

poj 1095 Trees Made to Order

http://poj.org/problem?id=1095 先打个表 然后dfs一下 #include<iostream> #include<cstdio> #include<cstdlib> #include<ctime> #include<queue> #include<cstring> #inclu...

weixin_30507481的博客 65
上一篇: HDU - 3988 Harry Potter and the Hide Story
下一篇: HDU - 4059 The Boss on Mars 容斥
我不会额
博客等级 码龄11年 2粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值