当前位置: 首页 > news >正文

【习题记录】好题要顶

题记

做题的时候做到一道很解法巧妙的题。所以写篇文章记录一下。

原题:EOlymp 3837

注:但好像在国内网络上测试不了代码?反正我是没能登录。我是从学校内部 OJ 里做的。没事,缕缕思路也很好。

题目中文翻译:

题目描述

所谓后缀表达式,是我们通常用的中缀表达式的另一种形式。中缀表达式的运算符的位置是在它所要计算的两个表达式之间的,而后缀表达式则是在其后面。比如有一个中缀表达式如下:

(<表达式1>) <运算符> (<表达式2>)

要将其转成后缀表达式,则要先递归地将<表达式1><表达式2>转成后缀表达式,然后将其变成:

<表达式1> <表达式2> <运算符>

我们一般不习惯这样的表示方式,但好在我们可以用栈轻松处理掉它。具体方法是:从左到右扫描整个表达式,当我们扫描到数时,将其加入栈中,当我们扫描到运算符时,取出两个栈顶元素,计算出结果后重新加入栈中。这样最终栈中只会剩下一个元素,该元素就是整个表达式的计算结果。

现在假设我们有的不是栈而是队列,我们也希望能用相同的操作方式处理一个表达式。唯一不同的是,队列每次加入元素是在队尾,而取出元素是在队头,所以就不适用在原先的后缀表达式上了。我们需要找到另一种表达式使得其适合于队列用相同的方法处理并得出相同的结果。

输入格式

输入第一行包含一个整数N,表示总共有N个后缀表达式需要处理。以下N行每行有一个后缀表达式,其中数用小写字母表示,运算符用大写字母表示。

输出格式

输出共N行,对于每个后缀表达式,输出适合于队列的另一种形式。

样例输入

1 xyPwzIM

样例输出

zwyxIPM

数据规模与约定

对于100%的数据,有1 ≤ N ≤ 20,所有后缀表达式的长度不超过10000。

好像数据比原题弱化了。但问题不大。

思路

首先,值得注意的一点是运算顺序不能变。因为不是所有运算都满足交换律。比如a b ≠ b a a^b \not= b^aab=ba。所以运算顺序一定要注意好。

我们把输入的后缀转换成树。

以样例为例:

我们发现(好惊人的注意力):这棵树的 BFS 序:MPIxywz,恰好是答案的倒序。通过简单的模拟,我们竟然发现这是对的!因为广搜也通过队列实现,而且入队顺序恰好符合答案所需(也能正好解决运算顺序的问题)。

解决办法真是非常巧妙,但题目也十分鬼畜。思维好题。

http://www.jsqmd.com/news/926652/

相关文章:

  • 口碑好的上门月嫂企业排名 - 工业品牌热点
  • VSCode + PlantUML:5分钟搞定N-S图与PAD图,告别Visio和手绘
  • 从实验室到生产线:手把手教你用DLP光机搭建自己的3D扫描系统(基于slm3D_Tech模块)
  • ICML 2024投稿倒计时24天:手把手教你用LaTeX+Overleaf搞定顶会论文格式(附避坑清单)
  • 2026年耐氯化物应力腐蚀不锈钢供应商靠谱吗 - mypinpai
  • 非标别墅门价格多少钱? - 工业品牌热点
  • 避开三个坑:ZYNQ AXI-Lite在Linux用户空间直接访问PL寄存器的实战指南
  • PP-FormulaNet_plus-L_safetensors核心功能解析:从图像预处理到LaTeX生成的全流程揭秘
  • CLIP模型实战:用Gradio快速搭建一个“看图说话”的AI小应用(支持自定义标签)
  • 2026年红色教育基地整体景观规划怎么收费? - mypinpai
  • 2026年高氮不锈钢卷价格排名 - mypinpai
  • CCC数字钥匙NFC通信避坑指南:APDU指令集与TLV解析中的5个常见错误
  • 保姆级教程:用Aircrack-ng套件在Kali Linux上抓取WiFi握手包(附实战避坑点)
  • Spring AI Audio Models
  • 2026年,学西点培训的学校费用知多少? - mypinpai
  • 腾讯给Agent记忆装上“自检“:350万token上下文不崩,性能还反超
  • 如何快速上手12306分布式高并发项目:3个步骤掌握微服务架构实战
  • 2026年性价比高的特种不锈钢卷推荐哪家 - 工业品牌热点
  • DistilBERT模型深度解析:为什么ChongqingAscend版本更适合中文场景
  • 2026年口碑好的芙蓉花住家月嫂推荐,专业上门服务解析 - mypinpai
  • 从ISA-95 Part 3八项活动出发,手把手拆解一个MOM系统的核心功能清单
  • 国内正规防爆控制机箱品牌排行实测盘点:防爆机箱厂家/不锈钢防爆机箱/不锈钢防爆箱/吊挂控制机箱/悬臂控制机箱/悬臂控制箱/选择指南 - 优质品牌商家
  • C语言也能玩泛型?手把手教你用C11的_Generic宏实现一个类型安全的打印函数
  • 综合实验2
  • 通用变速箱维修按需定制费用如何? - 工业品牌热点
  • 2026年橡胶密封件加工厂推荐,上海瀚滋口碑良好 - mypinpai
  • 从一次生产环境Kafka消息堆积,我重新梳理了Spring Boot与Kafka版本的匹配哲学
  • 告别Homebrew!用官方包在Mac上手动配置Java+Maven+MySQL环境(附详细路径解析)
  • 品牌靠谱的耐特殊介质腐蚀不锈钢焊管推荐 - mypinpai
  • CentOS7内网时间同步实战:手把手教你用NTP搭建私有时间服务器(含防火墙配置)