AT_arc211_c.[ARC211C] Forest

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正整数 NN,一个长度为 NN 的只由 # 和 . 组成的字符串 SS,以及一个长度为 NN 的正整数序列 R=(R1,R2,…,RN)R=(R_1,R_2,\dots,R_N)。

有一个由 NN 个区域组成的森林,这些区域从左到右按 1,2,…,N1,2,\dots,N 排列。

有些区域长有树。具体地说,当且仅当 SS 的第 ii 个字符是 # 时,第 ii 区域有树。保证下述操作至少可以进行一次。

你可以重复进行如下操作任意次:

  • 选取两个没有树的区域。设从左到右选中的区域编号为 ii 和 jj(i<ji < j)。那么区间 ii 到 jj 之间所有有树的区域的树都会被移除,并获得奖励 Ri+RjR_i+R_j。

注意,不能进行不会移除任何树的操作。

请你求出能使总奖励最大化的方案中,第一次操作可以有多少种选择方法。若两个选择方案中存在至少一个区域编号某一个被选中,另一个没被选中,则认为两种方案不同。

输入格式

输入格式如下:

NN SS R1R_1 R2R_2 …\dots RNR_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    8
    ...###..
    20 25 1 1 30 2 1 1

    输出#1

    2
  • 输入#2

    5
    .#.#.
    211 182 192 182 211

    输出#2

    2
  • 输入#3

    11
    #..#.##.#..
    192 192 192 211 182 192 182 192 182 211 182

    输出#3

    3

说明/提示

样例解释 1

共存在 6 种第一次操作方式如下:

  • 选择区域 11 和 77,移除区域 4,5,64,5,6 的树,获得奖励 2121。
  • 选择区域 11 和 88,移除区域 4,5,64,5,6 的树,获得奖励 2121。
  • 选择区域 22 和 77,移除区域 4,5,64,5,6 的树,获得奖励 2626。
  • 选择区域 22 和 88,移除区域 4,5,64,5,6 的树,获得奖励 2626。
  • 选择区域 33 和 77,移除区域 4,5,64,5,6 的树,获得奖励 22。
  • 选择区域 33 和 88,移除区域 4,5,64,5,6 的树,获得奖励 22。

无论选择哪一种操作,所有的树都会被移除,因此无法进行第二次操作。最大总奖励为 2626。

样例解释 2

最大总奖励为 825825。

注意目标不是最大化第一次操作获得的奖励。如果一开始选择区域 11 和 55,可以获得 422422 的奖励,但之后不能再进行任何操作,因此总奖励不能达到 825825。

约束条件

  • 3≤N≤2×1053\leq N\leq 2\times 10^5
  • SS 的长度为 NN,且每个字符都是 # 或 .。
  • 1≤Ri≤1091\leq R_i\leq 10^9,1≤i≤N1\leq i\leq N
  • 至少可以进行一次操作。
  • NN 和 RiR_i 都为整数。

由 ChatGPT 5 翻译

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

首页