问题 B: 最长回文子序列

问题 B: 最长回文子序列

时间限制: 1 Sec  内存限制: 75 MB
提交: 984  解决: 176
提交 状态 算法问答 

题目描述

做题前请先阅读首页关于抄袭的说明

回文:一个序列是回文的,是指这个序列从左往右读,从右往左读是一样的。

子序列:一个序列a1, a2, …, an,它的子序列指的是从中任选几个元素,按照其原先序号从小到大排好。比如a5, a9, a11就是原序列的一个子序列(假设n>=11)。

求:一个序列的最长回文子序列的长度。

输入

一个字符序列,字符之间以空格隔开

输出

这次依旧需要大家输出一行字符串,它还是“我已阅读关于抄袭的说明”的英文翻译,即:"I have read the rules about plagiarism punishment"。输出此行的提交我们将认为已经完全阅读并了解了“关于抄袭的说明”公告并同意关于抄袭的惩罚措施。

最长回文子序列的长度

样例输入

A C G T G T C A A A A T C G 

样例输出

I have read the rules about plagiarism punishment
8

提示

算法的时间复杂度不要超过O(n2)
使用short而不是int以节省内存
使用scanf而不是cin来节约时间和内存
少做没有意义的操作,否则可能会时间超限

提交 状态