AT_abc354_f [ABC354F] Useless for LIS
题目描述
给定一个长度为 N 的整数序列 A。
对于 t=1,2,…,N,请判断 At 是否有可能被包含在 A 的最长严格递增子序列中。
At 有可能被包含在 A 的最长递增子序列中,指的是存在如下情况:
- 设最长递增子序列的长度为 L。存在一个长度为 L 的严格递增的整数序列 i=(i1,i2,…,iL),满足以下条件:
- Ai1,Ai2,…,AiL 构成 A 的一个最长严格递增子序列。
- 存在某个 k (1≤k≤L) 使得 ik=t。
给定 T 组测试数据,请分别输出每组的答案。
最长递增子序列的定义如下:A 的子序列是指从 A 中取出若干元素,保持原有顺序得到的序列。A 的最长递增子序列是指所有严格递增子序列中长度最大的那一个。
输入格式
输入按以下格式从标准输入读入。
T
case1
case2
⋮
caseT
其中 casei 表示第 i 组测试数据,格式如下:
N A1 A2 ⋯ AN
输出格式
请按以下格式输出。
answer1
answer2
⋮
answerT
其中 answeri 表示第 i 组测试数据的输出。对于每组数据,假设有 m 个 t 满足 At 可以被包含在 A 的最长递增子序列中,且这些 t 升序排列为 i1,i2,…,im,则输出格式如下:
m i1 i2 ⋯ im
输入输出样例 #1
输入 #1
1
5
2 1 4 5 3
输出 #1
4
1 2 3 4
输入输出样例 #2
输入 #2
2
6
2 5 3 4 3 4
5
10000 1000 100 1 10
输出 #2
5
1 3 4 5 6
2
4 5
说明/提示
数据范围
- 1≤T≤2×105
- 1≤N≤2×105
- 1≤Ai≤109
- 所有测试数据中 N 的总和不超过 2×105
样例解释 1
最长递增子序列之一为 (2,4,5),长度为 3。(1,4,5) 也是最长递增子序列之一。但是,没有包含 A5 的最长递增子序列。因此,应输出 1,2,3,4。
由 ChatGPT 4.1 翻译