#L4080. 「ROI 2023 Day1」前缀最值
「ROI 2023 Day1」前缀最值
题目描述
译自 ROI 2023 Day1 T3. Рекорды и антирекорды
长度为 的排列是指一个由 个整数 组成的序列,其中从 到 的每个数都恰好出现一次。
如果可以通过从 中删除一些元素得到 ,那么我们称序列 是序列 的子序列。(也就是说 并且存在 使得 )
如果序列 中的第 个元素 严格大于所有前面的元素,它被称为前缀最大值(也就是说对于所有 ,都有 )。 如果序列 中的第 个元素 严格小于所有前面的元素,它被称为前缀最小值(也就是说对于所有 ,都有 )。
给定一个长度为 的排列 。要求把它分成两个非空的子序列 和 。换句话说, 中每个元素必须恰好属于一个子序列。同时要求最大化 中前缀最大值的数量和 中前缀最小值的数量的和。
输入格式
输入包含多组数据。第一行包含一个整数 (),表示测试数据的组数。接下来的 行每两行描述了一组测试数据:
每组测试数据的第一行包含一个整数 (),表示排列的长度。
每组测试数据的第二行包含 个整数 ,表示原始的排列。保证在 中 到 的每个数都恰好出现一次。
所有测试数据中的 之和不超过 。
输出格式
对于每组测试数据,输出一个整数,表示在最优的划分方案下, 中前缀最大值的数量和 中前缀最小值的数量的和的最大值。
样例输入
4 5 4 1 2 3 5 10 3 8 10 4 1 2 7 9 5 6 3 1 2 3 6 4 2 5 1 6 3
样例输出
5 6 3 5
数据范围与提示
令 表示一个测试点中所有 的和。其中子任务 0 是样例。
详细子任务附加限制及分值如下表所示。
| 子任务编号 | 分值 | 的限制 | 附加限制 | 子任务依赖 |
|---|---|---|---|---|
| 1 | 21 | , | - | 0 |
| 2 | 22 | , | 0, 1 | |
| 3 | 14 | 0, 1~2 | ||
| 4 | 10 | 0, 1~3 | ||
| 5 | 13 | 中最大递减子序列的长度不超过 2 | - | |
| 6 | 20 | - | 0, 1~5 | |