zoukankan      html  css  js  c++  java
  • 洛谷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. 不需要判断那么多字符,例如=,+,-,以及隐藏的*

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

  • 相关阅读:
    转Vtype扩展
    Can't connect to MySQL server on 'ip' (13)
    观察者+js 模式
    (转)ASP.NET架构分析
    sql得到时间
    Js+XML 操作 (转)
    js中的math对象
    property和attribute的区别
    CSS样式定义
    linux 开启 mount
  • 原文地址:https://www.cnblogs.com/send-off-a-friend/p/11618736.html
Copyright © 2011-2022 走看看