BZOJ 3262: 陌上花开

正文索引 [隐藏]

Description

有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb。显然,两朵花可能有同样的属性。需要统计出评出每个等级的花的数量。

Input

第一行为N,K (1 <= N <= 100,000, 1 <= K <= 200,000 ), 分别表示花的数量和最大属性值。
以下N行,每行三个整数si, ci, mi (1 <= si, ci, mi <= K),表示第i朵花的属性

Output

包含N行,分别表示评级为0…N-1的每级花的数量。

Sample Input

10 3
3 3 3
2 3 3
2 3 1
3 1 1
3 1 2
1 3 1
1 1 2
1 2 2
1 3 2
1 2 1

Sample Output

3
1
3
1
1
1

HINT

1 <= N <= 100,000, 1 <= K <= 200,000

题解

好好理解了一下CDQ分治!其实就是分治左边部分和右边部分,算整体的时候把左边对右边的影响加回去!
这道题目我们第一维使用排序,第二维用CDQ分治,第三位使用树状数组。就可以啦!
Orz3165还在填坑状态,等数据中、、、

代码