• 洛谷P3719 [AHOI2017初中组]rexp


    洛谷P3719 [AHOI2017初中组]rexp

    题目背景

    以下为不影响题意的简化版题目。

    题目描述

    给出一个由(,),|,a组成的序列,求化简后有多少个a。

    化简规则:

    1、形如aa...a|aa...a|aa...a的,化简结果为“|”两边a的个数最多的一项,例如a|aa|aaa=aaa 3、先算带括号的序列,例如(a|a)|aaa=aaa

    输入格式

    一行一个序列

    输出格式

    化简后a的个数

    输入输出样例

    输入 #1
    aa(aa)|(aa|(a|aa))aa
    输出 #1
    4

    说明/提示

    原题的样例记不得了,只能随便写个代替了。。。

    序列长度不超过100000

    保证序列合法且括号内和“|”左右均非空

    Solution

    貌似写过这种题,类似于P1022 计算器的改良

    但是我怎么感觉这比计算器要简单很多呢?

    还是说我把P1022想的太复杂了?

    Algorithm

    在P1022中,我们可以用到分类讨论+分治的思想,但是在那道题中不是很明显吧

    这道题用分治就非常好做了:

    1. 不需要先读入字符串
    2. 不需要想P1022那样存储数字
    3. 不需要判断那么多字符,例如=,+,-,以及隐藏的*

    那么用分治的话该怎么做呢?

  • 相关阅读:
    delphi安装pngimage控件,不需要安装,只需引用就行
    怎样把PL/SQLDeveloper字体调大
    resource is out of sync with the file
    SecureCRT:[1]SecureCRT配色方案
    安装开发环境注意事项2
    插入排序
    tomcat更改端口序
    tomcat更改端口
    maven添加jar包
    java总结
  • 原文地址:https://www.cnblogs.com/send-off-a-friend/p/11618736.html
Copyright © 2020-2023  润新知