题目 20238

回文子序列

查看题解 ↗GitHub ↗如何评测
题号
20238
标签
比赛NOIP
来源
2023 杜瑜皓 CSP-S&NOIP20连测 第 4 套

回文子序列

题目描述 你有一个长度为�的数组�1 , �2 , …, �� 。

你想找到最长的子序列满足如下条件:

• 它是一个回文子序列,长度是奇数或者偶数都可以。

• 这个子序列从中间开始是不降的。

比如一个长度为 2�的序列�1 , �2 , …, �2�,需要满足�1 = �2� , �2 = �2�−1 , …, �� = ��+1 并且��+1 ≤ ��+2 ≤ … ≤ �2� 。

问满足条件的最长的子序列长度是多少,有多少个本质不同的最长子序列,由于答 案很大,输出答案模109 + 7 的值。两个子序列本质不同,当且仅当至少存在一个 位置上数字是不同的。

输入格式 第一行一个整数�。

接下来一行�个整数�1 , �2 , …, �� 。

输出格式 一行,包含两个整数,分别为最长的子序列长度,和本质不同的子序列个数。

样例输入 1 5 3 3 1 2 3

样例输出 1 3 3

样例解释 子序列分别为{3,3,3}, {3,1,3}, {3,2,3}。这里选第 1,3,5 个元素和选第 2,3,5 个元素得 到的序列相同,所以算同一个。

样例输入输出 2 见下发文件。

数据规模 共 10 组数据。

测试点 1,2 满足� ≤ 20。 测试点 3,4 满足� ≤ 100。

测试点 5,6 满足 1 ≤ �� ≤ 20。

对于 100%的数据,满足 1 ≤ � ≤ 5000,1 ≤ �� ≤ �。

数据下载

题目 20238 的公开数据

正在读取文件列表…

常用命令

题目 20238 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。