news 2026/7/25 21:28:45

FBI树(fbi)(信息学奥赛一本通- P1365)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FBI树(fbi)(信息学奥赛一本通- P1365)

【题目描述】

我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。

FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下:

T的根结点为R,其类型与串S的类型相同;

若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。

现在给定一个长度为2N的“01”串,请用上述构造方法构造出一棵FBI树,并输出它的后序遍历序列。

【输入】

第一行是一个整数N(0≤N≤10),第二行是一个长度为2N的“01”串。

【输出】

一行,这一行只包含一个字符串,即FBI树的后序遍历序列。

【输入样例】

3 10001011

【输出样例】

IBFBBBFIBFIIIFF

【提示】

对于40%的数据,N≤2;

对于100%的数据,N≤10。

//是一颗满二叉树,我们用顺序存储 #include <iostream> #include <algorithm> #include <cmath> using namespace std; string a; char tre[5000]; void postorder(int root){ if(tre[root*2]) postorder(root*2); if(tre[root*2+1]) postorder(root*2+1); cout<<tre[root]; } int main(){ int n; cin>>n; cin>>a; //先给最后一层赋值 int cnt=0; //把顺序存储最后一行的叶子节点先存进去 for(int i=pow(2,n);i<pow(2,n+1);i++){ if(a[cnt]=='1') tre[i]='I'; else if(a[cnt]=='0') tre[i]='B'; cnt++; } //建树 倒着建 n+1就是总层数 for(int i=n;i>=1;i--){//该树总共会有n层 for(int j=pow(2,i);j<pow(2,i+1);j=j+2){//每层有这么多个节点 if(tre[j]==tre[j+1]) tre[j/2]=tre[j]; else tre[j/2]='F'; } } //后序遍历 postorder(1); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 7:02:12

OpenSpec标准兼容性测试:Wan2.2-T2V-5B能否通过工业级认证?

Wan2.2-T2V-5B能否通过工业级认证&#xff1f;OpenSpec兼容性深度评估 在短视频内容呈指数级增长的今天&#xff0c;创作者和企业对“一键生成动态视频”的需求从未如此迫切。然而&#xff0c;大多数文本到视频&#xff08;T2V&#xff09;模型仍停留在实验室阶段——参数动辄百…

作者头像 李华
网站建设 2026/7/22 10:08:01

LeetCode热题100--121. 买卖股票的最佳时机--简单

题目 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大…

作者头像 李华
网站建设 2026/7/21 7:14:10

多中心研究术语冲突 后来用SNOMEDCT编码统一才对齐数据

&#x1f4dd; 博客主页&#xff1a;jaxzheng的CSDN主页 目录医疗数据科学&#xff1a;当Excel表格遇上听诊器 一、现状&#xff1a;医生的Excel表格比患者的血糖还高 1.1 政策驱动下的“数字化狂潮” 1.2 技术爆炸&#xff1f;先别急着给AI发诺贝尔奖 二、真实案例&#xff1…

作者头像 李华
网站建设 2026/7/24 10:07:11

Markdown TOC目录生成:提升长篇PyTorch博客可读性

Markdown TOC目录生成&#xff1a;提升长篇PyTorch博客可读性 在撰写深度学习技术文档时&#xff0c;你是否曾遇到这样的困扰&#xff1f;一篇长达数千字的 PyTorch 教程发布后&#xff0c;读者反馈“内容详实但找不到重点”&#xff0c;或是“翻了好几屏才看到想看的配置步骤”…

作者头像 李华
网站建设 2026/7/25 18:44:51

Qwen3-14B编程能力评测:代码生成、调试与逻辑推理全面考察

Qwen3-14B编程能力评测&#xff1a;代码生成、调试与逻辑推理全面考察 在现代软件开发节奏日益加快的今天&#xff0c;开发者面对的挑战早已不止是“写代码”本身。从理解遗留系统、快速定位 bug&#xff0c;到自动生成测试用例和集成外部工具链&#xff0c;整个研发流程正呼唤…

作者头像 李华
网站建设 2026/7/22 3:23:15

如何在7天内构建企业级应用?这个低代码平台的5大颠覆性优势

如何在7天内构建企业级应用&#xff1f;这个低代码平台的5大颠覆性优势 【免费下载链接】vite-vue3-lowcode vue3.x vite2.x vant element-plus H5移动端低代码平台 lowcode 可视化拖拽 可视化编辑器 visual editor 类似易企秀的H5制作、建站工具、可视化搭建工具 项目地址…

作者头像 李华