Best Concatenation
题目描述
给定 N 个由数字 1 到 9 以及字符 X 组成的字符串 S1,S2,…,SN。
我们将选择一个排列 P=(P1,P2,…,PN),它是 (1,2,…,N) 的一个置换,
用来构造字符串 T=SP1+SP2+⋯+SPN,其中 + 表示字符串的连接。
然后,我们将计算字符串 T=T1T2…T∣T∣(这里 ∣T∣ 表示 T 的长度)的“得分”。
得分按下面的 9 步计算,初始得分为 0:
对每个满足 1≤i<j≤∣T∣、Ti=X 且 Tj=1 的整数对 (i,j),向得分加 1 点。
对每个满足 1≤i<j≤∣T∣、Ti=X 且 Tj=2 的整数对 (i,j),向得分加 2 点。
对每个满足 1≤i<j≤∣T∣、Ti=X 且 Tj=3 的整数对 (i,j),向得分加 3 点。
⋯
对每个满足 1≤i<j≤∣T∣、Ti=X 且 Tj=9 的整数对 (i,j),向得分加 9 点。
当 P 可任意选择时,求 T 的最大可能得分。
输入格式
输入按下述格式由标准输入提供:
N
S1
S2
⋮
SN
输出格式
输出答案。
3
1X3
59
XXX
71
10
X63X395XX
X2XX3X22X
13
3716XXX6
45X
X6XX
9238
281X92
1XX4X4XX6
54X9X711X1
3010
提示
2≤N≤2×105
N 是整数。
Si 是长度至少为 1 的字符串,由数字 1 到 9 和字符 X 组成。
S1,S2,…,SN 的长度总和至多为 2×105。当 P=(3,1,2) 时,T=S3+S1+S2= XXX1X359。
然后,T 的得分按如下计算:
有 3 个整数对 (i,j) 满足 1≤i<j≤∣T∣、Ti=X 且 Tj=1;
有 4 个整数对 (i,j) 满足 1≤i<j≤∣T∣、Ti=X 且 Tj=3;
有 4 个整数对 (i,j) 满足 1≤i<j≤∣T∣、Ti=X 且 Tj=5;
有 4 个整数对 (i,j) 满足 1≤i<j≤∣T∣、Ti=X 且 Tj=9。
因此,T 的得分为 $1 \times 3 + 3 \times 4 + 5 \times 4 + 9 \times 4 = 71$,这是可能的最大值。
标签: AtCoder|abc268F
来源
AtCoder|abc268F