三维分界(divider)

题目描述

Y 同学正在评估一批设备。第 ii 台设备记录了三项指标 (ai,bi,ci)(a_i,b_i,c_i)

现在需要先将所有设备按照如下规则排序:

  1. aa 从大到小排序;
  2. aa 相同,按 bb 从大到小排序;
  3. a,ba,b 都相同,按 cc 从小到大排序;
  4. 若仍相同,按原编号从小到大排序。

排序后得到序列 p1,p2,,pnp_1,p_2,\dots,p_n

称位置 kk1kn1 \le k \le n)是一个有效分界,当且仅当同时满足以下三个条件:

  • 在前缀 [1,k][1,k] 中,设备 pkp_kbb 严格大于此前所有设备的 bb
  • 在前缀 [1,k][1,k] 中,设备 pkp_kcc 严格小于此前所有设备的 cc
  • 不允许拆开同一吞吐评分组。也就是说,若 k<nk < n,必须满足 apk>apk+1a_{p_k} > a_{p_{k+1}}

请你输出所有有效分界位置 kk,并输出有效分界的个数。

输入格式

第一行输入一个整数 TT,表示测试组数。

对于每组测试数据:

  • 第一行输入一个整数 nn
  • 接下来 nn 行,每行输入三个整数 ai,bi,cia_i,b_i,c_i

输出格式

对于每组测试数据:

  • 第一行输出一个整数,表示有效分界个数;
  • 第二行按从小到大输出所有有效分界位置 kk
  • 若不存在有效分界,则第二行输出 None

样例

样例输入 #1

1
7
100 60 30
95 80 28
95 78 35
92 85 25
90 84 18
88 90 22
80 91 15

样例输出 #1

3
1 4 7

样例解释 1

样例一中各设备已经按题目要求排好序,因此排序后的序列不变。

依次考察各个位置:

位置 kk 设备三元组 (a,b,c)(a,b,c) 是否满足前缀稳定新高 是否满足前缀时延新低 是否可作为分界
11 (100,60,30)(100,60,30)
22 (95,80,28)(95,80,28)
33 (95,78,35)(95,78,35)
44 (92,85,25)(92,85,25)
55 (90,84,18)(90,84,18)
66 (88,90,22)(88,90,22)
77 (80,91,15)(80,91,15)

其中,位置 22 虽然满足前两条,但由于它与下一台设备的吞吐评分相同,都是 9595,不能把同吞吐评分组拆开,因此不计入答案。

所以所有有效分界位置为:1,4,7{1,4,7}

样例输入 #2

1
6
90 70 40
100 50 30
95 80 28
95 75 20
88 90 18
92 85 25

样例输出 #2

2
1 6

样例解释 2

排序后,得到序列:

排序后位置 kk 对应原编号 (a,b,c)(a,b,c)
11 22 (100,50,30)(100,50,30)
22 33 (95,80,28)(95,80,28)
33 44 (95,75,20)(95,75,20)
44 66 (92,85,25)(92,85,25)
55 11 (90,70,40)(90,70,40)
66 55 (88,90,18)(88,90,18)

再依次判断各个位置:

位置 kk 设备三元组 (a,b,c)(a,b,c) 是否满足前缀稳定新高 是否满足前缀时延新低 是否可作为分界
11 (100,50,30)(100,50,30)
22 (95,80,28)(95,80,28)
33 (95,75,20)(95,75,20)
44 (92,85,25)(92,85,25)
55 (90,70,40)(90,70,40)
66 (88,90,18)(88,90,18)

其中:

  • 位置 22 虽然满足前两条,但由于下一台设备的吞吐评分仍为 9595,不能把同一吞吐评分组拆开,所以不能作为分界;
  • 位置 66 是末尾位置,只要前两条满足即可。

因此所有有效分界位置为:1,6{1,6}

数据范围与约定

对于 100%100\% 的数据,保证 1T101 \le T \le 101n2×1051 \le n \le 2 \times 10^51ai,bi,ci1091 \le a_i,b_i,c_i \le 10^9,且所有测试数据的 nn 之和不超过 2×1052 \times 10^5

测试点编号 分值 nn \le 特殊性质
121\sim2 10 10310^3 特殊性质 A
343\sim4 2×1042\times10^4 特殊性质 B
585\sim8 20
9129\sim12 2×1052\times10^5
131613\sim16 特殊性质 C
172017\sim20
  • 特殊性质 A:保证所有设备的 aia_i 两两不同。
  • 特殊性质 B:保证输入顺序与题目要求的排序结果完全一致。
  • 特殊性质 C:保证所有设备的 aia_i 都相同。