#ATagc052d. [AGC052D] Equal LIS
[AGC052D] Equal LIS
题目描述
给定一个 到 的整数的排列 。请判断是否可以将其分成两个子序列,使得这两个子序列的最长上升子序列的长度相等。
形式化地说,目标是找到满足以下所有条件的两个整数序列 :
- 都是 的子序列。
- 每个整数 恰好只在 或 中出现一次。
- ( 的最长上升子序列的长度)( 的最长上升子序列的长度)。
请判断目标是否可以达成。
有 组测试数据,请分别作答。
输入格式
输入从标准输入读入。输入的第 行为:
接下来有 组测试数据,每组数据格式如下:
输出格式
对于每组测试数据,如果可以将给定排列分成两个最长上升子序列长度相等的子序列,则输出 YES,否则输出 NO。每组测试输出占一行。判题器对大小写不敏感。
样例 1
输入
5
1
1
2
2 1
3
1 2 3
5
1 3 5 2 4
6
2 3 4 5 6 1
输出
NO
YES
NO
YES
NO
说明/提示
数据范围
- 是 到 的一个排列。
- 所有测试数据中 的总和不超过 。
样例解释 1
将 分为 和 ,两者的最长上升子序列长度均为 。对于 ,无法分成两个最长上升子序列长度相等的子序列。
由 ChatGPT 4.1 翻译