博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ3262】 陌上花开
阅读量:6580 次
发布时间:2019-06-24

本文共 1141 字,大约阅读时间需要 3 分钟。

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
0
1
0
1
0
0
1

HINT

 

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

 
三维偏序集,黄学长告诉我们可以
1.树状数组+treap √
2.cdq分治
目前只会树套树的做法,然而我的树套树真心很弱
1 #include
2 #include
3 #include
4 #include
5 #define M 5000005 6 using namespace std; 7 int n,m,sz,tmp; 8 int root[200005],ans[100005],sum[100005]; 9 int size[M],ls[M],rs[M],v[M],w[M],rnd[M];10 struct node{
int a,b,c;}a[100005];11 int lowbit(int x){
return x&(-x);}12 bool cmp(node a,node b){13 if (a.a==b.a&&a.b==b.b) return (a.c
num){ins(ls[k],num);if (rnd[ls[k]]
num) getrank(l,num);33 else if (v[k]

 

 

转载于:https://www.cnblogs.com/wuminyan/p/5146716.html

你可能感兴趣的文章
Comparing and Merging Files with GNU diff and p...
查看>>
1-----python编程语言介绍和安装升级
查看>>
Docker 在 CentOS 下的安装、使用
查看>>
swift - 简单的图片滤镜+保存view转成图片存入本地相册
查看>>
Tensorflow 深度学习分布式实现方式
查看>>
Visual Studio 2010新功能-IntelliTrace
查看>>
使用serv-u建立FTP
查看>>
区块链安全吗?
查看>>
深入Java虚拟机
查看>>
带箭头气泡提示框
查看>>
微服务实践(七):从单体式架构迁移到微服务架构
查看>>
owncloud--个人云服务
查看>>
php开启gzip压缩
查看>>
<sh>声明式事务的配置
查看>>
自动更改IP地址反爬虫封锁,支持多线程
查看>>
在Spring-Boot中配置mybatis多数据源
查看>>
dede验证码不显示解决方法
查看>>
安全座椅不值得买,用数据说话
查看>>
HTML中ID与NAME的区别
查看>>
查找算法学习--入门总结
查看>>