字符串极值

传送门 luogu U143139

题目描述

给定 (n) 个字符串。字符串中的每个字符仅有大小写字母组成,且每个字符都被赋予了一定的值。

赋值方法:大写字母 A ~ Z 的值分别为 (1) ~ (26) ;小写字母 a ~ z 的值分别为 (-1) ~ (-26)

对于每一个字符串,要求找到一个连续且非空的区间 ,使得区间内所有字符的值之和最大,并求出此最大值。

输入格式

第一行输入一个正整数 (n) ,代表字符串个数。

下面的 (n) 行中,每行输入一个非空字符串。

输出格式

输出一个数,代表区间内和的最大值。

样例输入

5
AAABC
aaabc
IakIOI
IakNOIp
ThatsNoWayAndImpossible

样例输出

8
-1
54
59
23

数据范围

对于前 (20\%) 的数据,保证 (n=1) ,字符串长度 (leq 100)

对于前 (40\%) 的数据,保证 (1 leq nleq4) ,字符串长度 (leq 1000)

对于前 (70\%) 的数据,保证 (1 leq nleq10),字符串长度 (leq 5000)

对于 (100\%) 的数据,保证 (1 leq nleq20),字符串长度 (leq 100000)

样例解释

对于第 (2) 个字符串,第一个字符 a 即为该字符串内值最大的子串。

对于第 (5) 个字符串,子串 NoW 即为该字符串内值最大的子串。

原文地址:https://www.cnblogs.com/EdisonBa/p/14075693.html