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

告别以太网瓶颈:手把手教你为AI训练集群搭建InfiniBand网络(以NVIDIA DGX A100/H100为例) 本文详细指导如何为AI训练集群搭建InfiniBand网络,解决以太网瓶颈问题,特别针对NVIDIA DGX A100/H100系统。通过硬件选型、网络架构设计和性能调优,显著提升多机多卡训练效率,适用于大规模模型训练场景。 阅读详情

题目:


求第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;
}


小米万兆路由器里的Docker安装可道云(Kodexplorer)私有网盘 小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装[可道云](http://kodcloud.com/)(Kodexplorer)私有网盘。 阅读详情

相关推荐

PaddleOCR实战:给图片‘加个框’,轻松搞定小图和长图文字识别不准的难题

本文探讨了PaddleOCR在处理小图和长图时识别精度下降的问题,并提出通过图像边框预处理技术显著提升OCR识别效果。详细介绍了使用OpenCV实现智能边框添加的方法,包括核心原理、工程实践中的关键细节以及性能优化策略,帮助开发者轻松解决非常规尺寸图像的文本检测难题。

weixin_29313547的博客 186

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

Windows 2000系统下载与全套镜像安装:从镜像校验到驱动兼容性实战指南

操作系统镜像文件是安装系统的核心载体,其完整性直接影响部署成败。哈希校验作为验证文件一致性的基础手段,能有效避免因镜像损坏导致的安装中断。对于已停止支持的操作系统,如Windows 2000,其镜像获取与安装更具挑战性,但它在工业控制、专用终端及怀旧技术研究中仍有不可替代的价值。通过理解镜像命名规则、服务包等级(如SP4)及引导方式,结合虚拟机或老硬件平台,可以顺利完成部署。同时,驱动兼容性是老系统运行的关键瓶颈,需针对性解决网卡、显卡等外设驱动问题。本文从镜像下载、校验到安装配置,系统梳理了Windows

weixin_32050773的博客 341

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

ArcGIS Pro 3.0 加载天地图WMTS服务,解决偏移问题的保姆级教程(附最新Key申请流程)

本文详细介绍了在ArcGIS Pro 3.0中精准加载天地图WMTS服务的全流程,包括最新Key申请流程、解决地图偏移问题的关键配置步骤以及常见问题排查方法。通过设置`esri`参数和统一坐标参考,确保地理数据与天地图底图精确匹配,提升GIS空间分析的准确性。

weixin_28713947的博客 302

SAP S4业务伙伴(BP)实战指南:从角色分配到数据同步的完整流程

本文详细解析了SAP S4业务伙伴(BP)功能,从基础概念到实战操作,涵盖角色分配、数据同步及常见问题排查。通过BP机制,企业可高效管理客户、供应商等多重身份,实现数据共享和动态切换,显著提升主数据管理效率。特别适合SAP实施顾问和ERP管理员参考。

y2z3a4b5c的博客 868

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

Deepfake检测模型-PyDeepFakeDet项目复现实验报告-深度学习

该实验是对于https://github.com/wangjk666/PyDeepFakeDet模型的复现。PyDeepFakeDet 是一款集成的、可扩展的 Deepfake 检测工具。目标是提供最先进的 Deepfake 检测模型以及用于在常用 Deepfake 数据集上训练和评估新模型的接口。

一位不是很硕的鉴伪方向硕士 5494

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

学Simulink--决策规划场景实例:基于Simulink的智能车辆行为决策仿真

本文基于Simulink平台构建智能车辆变道决策仿真系统,采用MOBIL算法实现"决策-规划-执行"全流程。系统包含自车动力学模型、环境感知模块(含5%噪声)、决策控制器和轨迹规划模块,通过五次多项式实现平滑变道。仿真验证了三种典型工况:正常变道(成功率100%)、邻车拒绝让行和紧急避障,各项指标均满足要求(TTC>3s,横向加速度<2m/s²,决策周期<100ms)。文章详细介绍了建模步骤、核心算法实现和参数配置方法,并提出了强化学习、多车协同等优化方向。该模型为智能

amy_mhd的博客 151

Motoman机器人离线编程——Motocom32开发简介

欢迎关注Jungle的Motoman机器人离线编程专栏系列文章: Motoman机器人离线编程——Motocom32开发简介 Motoman机器人离线编程——Visio Studio环境配置 Motoman机器人离线编程——Motocom32库函数的使用与封装 Motoman机器人离线编程——Motocom32参考文献及注意事项 Motoman机器人离线编程——MotocomES介绍 ...

冯Jungle的个人博客 8713

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

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

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

matlab处理las点云(1)——las/laz格式解析【2024最新版】

matlab中的las/laz格式解析。博客长期更新,本文最近一次更新时间为:2024年11月9日。

点云侠的博客 8459

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

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

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

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

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

ZSQ 1204

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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、付费专栏及课程。

余额充值