/ Vijos / 题库 /

字符串相似度

字符串相似度

时间限制:1秒  内存限制:256M


【问题描述】

  两个字符串的相似度就是对应字符之间的相似度总和。当然如果字符串不一样长,先在它们中插入一些空格变成一样长后,在计算对应字符之间的相似度总和。

  现在给出字符之间的相似度表(包括空格与其他字符之间),然后编程计算两个字符串之间的最大相似度。

【输入格式】

  第一行为 \(N\),表示字符串是由前 \(N\) 个大写字母组成。
  接下来的两两行,表示两个字符串,第一个整数是字符串的长度,第二个是字符串
  再接下来是 \(N\) 行 \(N\) 列的整数矩阵,其中第 \(i\) 行 \(j\) 列的整数 表示第 \(i\) 个大写字母与第 \(j\) 个大写字母的相似度,是一个[-100,100]之间的整数。
  最后一行包含 \(N\) 个整数,第 \(i\) 个整数表示第 \(i\) 个大写字母与空格的相似度。

【输出格式】

  输出两个字符串之间的最大相似度。

【输入输出样例】

 Input

4
8 ACBDCADB
6 CDDABC
50 -10 -20 -10
-10 50 -30 -20 
-20 -30 50 -20
-10 -20 -20 50
-30 -40 -20 -10

 Output

100

【样例解释】

  一种相似度最大的方案如下:
说明
  相似度为:\((-30) + (50) + (-20) + 50 + (-20) + 50 + (-10) + 50 + (-20) = 100\)

【来源】

  Mr.he

信息

ID
1122
难度
4
分类
动态规划 | LCS 点击显示
标签
(无)
递交数
1
已通过
1
通过率
100%
被复制
2
上传者