news 2026/6/6 19:39:15

算法竞赛备考冲刺必刷题(C++) | 洛谷 P1229 遍历问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法竞赛备考冲刺必刷题(C++) | 洛谷 P1229 遍历问题

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

洛谷:P1229 遍历问题 - 洛谷

【题目描述】

我们都很熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历,求它的后序遍历,相应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。然而给定一棵二叉树的前序和后序遍历,你却不能确定其中序遍历序列,考虑如下图中的几棵二叉树:

所有这些二叉树都有着相同的前序遍历和后序遍历,但中序遍历却不相同。

【输入】

共两行,第一行表示该二叉树的前序遍历结果s 1 s_1s1,第二行表示该二叉树的后序遍历结果s 2 s_2s2

保证至少存在一棵二叉树满足给出的信息,s 1 , s 2 s _ 1, s _ 2s1,s2中只含小写字母,且在某个字符串中不存在相同的字母。

【输出】

输出可能的中序遍历序列的总数,结果不超过2 63 − 1 2^{63}-12631

【输入样例】

abc cba

【输出样例】

4

【算法标签】

《洛谷 P1229 遍历问题》 #树形数据结构#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong// 将int重新定义为long long类型,防止溢出string a,b;// 定义两个字符串a和bintcnt,ans=1;// cnt: 计数器,记录符合条件的相邻字符对数量;ans: 最终结果,初始为1signedmain()// 因为使用了#define int long long,所以用signed main{cin>>a>>b;// 输入两个字符串a和b// 双重循环遍历两个字符串中的所有相邻字符对for(inti=0;i<=a.size()-2;i++)// 遍历字符串a,从第0个字符到倒数第2个字符for(intj=0;j<=b.size()-2;j++)// 遍历字符串b,从第0个字符到倒数第2个字符{// 检查条件:a中相邻的两个字符是否等于b中相邻两个字符的逆序if(a[i]==b[j+1]&&a[i+1]==b[j])// 如果a[i]==b[j+1]且a[i+1]==b[j]cnt++;// 计数器加1}// 计算2的cnt次方for(inti=1;i<=cnt;i++)// 循环cnt次ans*=2;// ans乘以2,即计算2^cntcout<<ans<<endl;// 输出结果return0;// 程序正常结束}

【运行结果】

abc cba 4
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 22:53:34

游戏开发者的福音:快速集成Z-Image-Turbo实现游戏素材自动化生成

游戏开发者的福音&#xff1a;快速集成Z-Image-Turbo实现游戏素材自动化生成 作为一名独立游戏开发者&#xff0c;你是否经常为寻找合适的游戏素材而头疼&#xff1f;想要独特的场景和角色&#xff0c;却又不想花费大量时间在美术资源上&#xff1f;Z-Image-Turbo镜像正是为解决…

作者头像 李华
网站建设 2026/6/1 0:47:37

Z-Image-Turbo支持文字生成吗?真实效果评测

Z-Image-Turbo支持文字生成吗&#xff1f;真实效果评测 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 在AI图像生成领域&#xff0c;阿里通义Z-Image-Turbo 凭借其高效的推理速度和高质量的输出表现&#xff0c;迅速成为开发者与创作者关注的焦点。该模型…

作者头像 李华
网站建设 2026/5/31 11:03:54

Z-Image-Turbo停止生成任务的方法:刷新页面即可中断

Z-Image-Turbo停止生成任务的方法&#xff1a;刷新页面即可中断 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 运行截图 核心提示&#xff1a;在使用阿里通义Z-Image-Turbo WebUI进行AI图像生成时&#xff0c;若需立即终止正在执行的生成任务&#xff0c…

作者头像 李华
网站建设 2026/6/3 0:23:55

揭秘科哥二次开发的Z-Image-Turbo:如何用预置镜像5分钟搭建创作平台

揭秘科哥二次开发的Z-Image-Turbo&#xff1a;如何用预置镜像5分钟搭建创作平台 作为一名独立游戏开发者&#xff0c;你是否曾为角色原画和场景概念图的创作耗费数天时间&#xff1f;科哥二次开发的Z-Image-Turbo镜像或许能成为你的效率利器。这款基于ComfyUI优化的预置环境&am…

作者头像 李华
网站建设 2026/5/28 23:22:09

创业利器:如何用最低成本验证AIGC产品创意

创业利器&#xff1a;如何用最低成本验证AIGC产品创意 作为一名互联网创业者&#xff0c;你是否也遇到过这样的困境&#xff1a;想测试AI生成内容的商业价值&#xff0c;却不愿在前期投入过大成本&#xff1f;本文将为你介绍如何利用现有技术资源&#xff0c;以最低成本快速验…

作者头像 李华
网站建设 2026/5/28 19:59:33

【MySQL】node.js 如何批量更新数据?

在 Node.js 中使用 mysql2 库批量更新&#xff08;Bulk Update&#xff09;多条数据&#xff0c;主要有三种主流方案。由于 MySQL 本身没有像 INSERT 那样简单的 UPDATE ... VALUES (...) 语法&#xff0c;我们需要根据场景选择最合适的方法。方法一&#xff1a;使用 CASE WHEN…

作者头像 李华