#CF1931F. 聊天截图
聊天截图
聊天截图
- 时间限制:2 秒
- 内存限制:256 MiB
题目描述
编程竞赛群聊中有 个人。群聊成员按活跃度排序,但每个人在自己看到的列表中都会把自己排在最前面。
例如,群聊中有 个成员,他们的顺序为 。那么:
- 第 号用户看到的顺序是 。
- 第 号用户看到的顺序是 。
- 第 号用户看到的顺序是 。
- 第 号用户看到的顺序是 。
有 个人在群聊中发了截图,截图中显示了该用户看到的成员顺序。所有截图都是在很短的时间内拍摄的,成员的顺序没有发生变化。
你的任务是判断是否存在某种成员顺序,使得所有 个截图都可能是基于该顺序得到的。
输入格式
第一行包含一个整数 (),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 和 ($1 \le k \le n \le 2 \cdot 10^5, n \cdot k \le 2 \cdot 10^5$),分别表示群聊成员数量和发截图的成员数量。
接下来的 行,每行包含 个整数 (,所有 均不同),表示第 个截图中成员的顺序,其中 是截图的作者。可以保证在截图描述中,作者总是在列表的最前面。
保证所有测试用例的 之和不超过 。保证所有截图的作者均不相同。
输出格式
输出 行,每行对应一个测试用例的答案。如果存在至少一种成员顺序,使得所有 个截图都可能是基于该顺序得到的,输出 "YES";否则输出 "NO"。
每行只输出大写字符串 YES 或 NO。
样例输入 1
10
5 1
1 2 3 4 5
4 4
1 2 3 4
2 3 1 4
3 2 1 4
4 2 3 1
6 2
1 3 5 2 4 6
6 3 5 2 1 4
3 3
1 2 3
2 3 1
3 2 1
10 2
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
1 1
1
5 2
1 2 3 5 4
2 1 3 5 4
3 3
3 1 2
2 3 1
1 3 2
5 4
3 5 1 4 2
2 5 1 4 3
1 5 4 3 2
5 1 4 3 2
3 3
1 3 2
2 1 3
3 2 1
样例输出 1
YES
YES
YES
YES
NO
YES
YES
YES
YES
NO
数据范围
对于所有测试数据,,,。每一行均为 至 的一个排列,且不同截图的作者互不相同。一个输入文件内所有测试用例的 之和不超过 。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | ,且一个输入文件内 |
| 2 | ,且一个输入文件内 | |
| 3 | 30 | ,且一个输入文件内 |
| 4 | 无特殊限制 |