AT_past202004_k.括弧

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 nn ,且仅由(和)组成的字符串 ss(下标从 11 开始)。现在,我们希望花费最少的代价,使得 ss 成为一个“平衡字符串”(定义后面会给出)。

首先,我们决定从 ss 中挑出 00 个或更多字符,并将其改变(即括号方向改成相反的)。第 ii 个字符执行此操作的代价为 cic_i。

然后,我们决定从 ss 中挑出 00 个或更多(全部挑出也可)个字符并将其删除。第 ii 个字符执行此操作的代价为 did_i。删除完毕后,按顺序连接 ss 中的字符。

请求出让 ss 成为“平衡字符串”的最小代价。

“平衡字符串”的定义:

一个“平衡字符串”可以是:

  • 一个空串;
  • 由两个非空平衡字符串 aa 和 bb 连接而成的串;
  • 在平衡字符串 aa 的两侧分别加上(和)后连成的字符串。

输入格式

第一行:nn。

第二行:ss。

第三行:c1,c2,...,cnc_1,c_2,...,c_n。

第四行:d1,d2,...,dnd_1,d_2,...,d_n。

输出格式

一行一个整数,最小代价。

限制条件

  • 1≤n≤30001 \le n \le 3000;
  • ss 的长度为 nn,且仅由(和)组成;
  • 1≤ci,di≤1091 \le c_i,d_i \le 10^9;
  • n,ci,din,c_i,d_i 均为整数。

输入输出样例

  • 输入#1

    3
    ))(
    3 5 7
    2 6 5

    输出#1

    8
  • 输入#2

    1
    (
    10
    20

    输出#2

    20
  • 输入#3

    10
    ))())((()(
    13 18 17 3 20 20 6 14 14 2
    20 1 19 5 2 19 2 19 9 4

    输出#3

    18
  • 输入#4

    4
    ()()
    17 8 3 19
    5 3 16 3

    输出#4

    0

输入解题思路,AI测评打分。不知道怎么写?

首页