#THU20242C. 排列

    ID: 218 Type: Default 1000ms 512MiB Tried: 1 Accepted: 1 Difficulty: 5 Uploaded By: Tags>清华推研机试考研调剂其他构造数据结构平衡树线段树树状数组SPJ

排列

时间限制: 1.0 秒

空间限制: 256 MB

题目描述

现在有一个排列 aa11nn 只出现了一次的数组),kk 个限制,每个限制有两个数字 ppxx,表示下标小于等于 pp 的数字中,值小于等于 apa_p 的恰好为 xx 个。即满足 aiapa_i\le a_pipi\le pii 的数量恰好是 xx 个。

现在请你构造出这个 aa 数组,如果有多种构造方式,输出任意一种,如果构造不出来,请输出 -1

输入格式

从标准输入读入数据。

第一行一个整数 TT,表示有 TT 组数据。

之后每组数据第一行两个整数 n,kn,k,表示有 nn 个数字,kk 组限制。

之后的 kk 行,每一行有两个数字 ppxx,表示下标小于等于 pp 的数字中,值小于等于 apa_p 的恰好为 xx 个,保证每个限制条件中的 pp 各不相同。

输出格式

输出到标准输出。

输出共计 TT 行。对于每组数据,输出 nn 个整数,代表你构造出来的 aa 数组。如果有多种构造方式,输出任意一种。如果构造不出来,请输出一行 -1

2
5 2
2 2
5 4
10 1
1 10
1 2 5 3 4
-1

样例 1 解释

在有解的情况下,输出任意一种正确答案即可。对于样例 1 当中的第一组数据,输出 1 2 5 3 41 2 3 5 4 或其他满足两组限制条件的排列都是正确的。第二组数据无论如何也无法满足要求,故输出一行 -1 即可。

子任务

对于全部数据,保证 $1\le k,p\le n,~1\le x,n\le 10^5,~\sum n\le 5\times 10^5$。

本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。

子任务编号 分值 数据范围 其他限制
1 20 T10, n9T\le 10,~n\le 9
2 30 T10, n2000T\le 10,~n\le 2000
3 10 n5×105\sum n\le 5\times 10^5 pxp\le x
4 40