AT_abc268_f.[ABC268F] Best Concatenation

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定 NN 个仅由数字 11 到 99 以及 X 组成的字符串 S1,S2,…,SNS_1, S_2, \ldots, S_N。

你可以任选一个 11 到 NN 的排列 P=(P1,P2,…,PN)P = (P_1, P_2, \ldots, P_N),并将字符串 SP1,SP2,…,SPNS_{P_1}, S_{P_2}, \ldots, S_{P_N} 按顺序连接,得到字符串 T=SP1+SP2+⋯+SPNT = S_{P_1} + S_{P_2} + \cdots + S_{P_N}。这里的 ++ 表示字符串的连接操作。

然后,对字符串 T=T1T2…T∣T∣T = T_1T_2\ldots T_{|T|} 计算其“得分”(∣T∣|T| 表示 TT 的长度)。
TT 的得分从 00 开始,按照以下 99 个步骤计算:

  • 对于所有满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 1 的整数对 (i,j)(i, j),每对使得得分加 11。
  • 对于所有满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 2 的整数对 (i,j)(i, j),每对使得得分加 22。
  • 对于所有满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 3 的整数对 (i,j)(i, j),每对使得得分加 33。
  • ⋯\cdots
  • 对于所有满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 9 的整数对 (i,j)(i, j),每对使得得分加 99。

请输出在任意选择排列 PP 时,TT 的得分可能取得的最大值。

输入格式

输入按以下格式从标准输入读入。

NN
S1S_1
S2S_2
⋮\vdots
SNS_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    3
    1X3
    59
    XXX

    输出#1

    71
  • 输入#2

    10
    X63X395XX
    X2XX3X22X
    13
    3716XXX6
    45X
    X6XX
    9238
    281X92
    1XX4X4XX6
    54X9X711X1

    输出#2

    3010

说明/提示

数据范围

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • NN 为整数
  • SiS_i 是仅由数字 11 到 99 以及 X 组成的字符串,长度至少为 11
  • S1,S2,…,SNS_1, S_2, \ldots, S_N 的总长度不超过 2×1052 \times 10^5

样例解释 1

当 P=(3,1,2)P = (3, 1, 2) 时,$T = S_3 + S_1 + S_2 = $ XXX1X359。此时,TT 的得分如下计算:

  • 满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 1 的整数对 (i,j)(i, j) 有 33 个;
  • 满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 3 的整数对 (i,j)(i, j) 有 44 个;
  • 满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 5 的整数对 (i,j)(i, j) 有 44 个;
  • 满足 1≤i<j≤∣T∣1 \leq i < j \leq |T| 且 $T_i = $ X 且 $T_j = $ 9 的整数对 (i,j)(i, j) 有 44 个。

因此,TT 的得分为 1×3+3×4+5×4+9×4=711 \times 3 + 3 \times 4 + 5 \times 4 + 9 \times 4 = 71,这也是可能取得的最大值。

由 ChatGPT 4.1 翻译

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

首页