题目背景
这是 P3810 【模板】三维偏序 / 陌上花开 简单版,保证没有重复点,数据随机,方便初学者入门。
题目描述
有 n 个元素,第 i 个元素有 ai,bi,ci 三个属性,设 f(i) 表示满足 aj≤ai 且 bj≤bi 且 cj≤ci 且 j=i 的 j 的数量。
对于所有 d∈[0,n),求 f(i)=d 的数量。
保证没有重复点。
输入格式
第一行两个整数 n,k,表示元素数量和最大属性值。
接下来 n 行,每行三个整数 ai,bi,ci,分别表示三个属性值。
输入数据保证没有重复点(即不存在 i=j ,ai=aj 且 bi=bj 且 ci=cj 的两个点)
输出格式
共 n 行,第 d+1 行表示 f(i)=d 的 i 的数量。
5 10
1 2 1
3 4 4
1 3 2
2 5 5
10 10 10
1
1
2
0
1
样例1解释
将所有点排序,可以得到如下:
1 2 1 f[i]=0
1 3 2 f[i]=1
3 4 4 f[i]=2
2 5 5 f[i]=2
10 10 10 f[i]=4
那么 f[i]=0 的个数为 1 ,f[i]=1/2/3/4 第个数依次为 1 2 0 1 , 所以答案就是为 1 1 2 0 1.
数据规模与约定
对于所有数据,保证 1≤n≤105,1≤ai,bi,ci≤k≤2×105。
Subtask1:n≤103 , 20 分
Subtask2:n≤5×104, 30 分
Subtask3:n≤105 ,50 分
数据随机,于是就会有多种做法: K-D tree 、CDQ 、 bitset 、数据结构等