三维裸的做法是一维排序,剩下树套树,可我好像还没写过树套树
先说cdq分治吧,先对一维排序,相当于原来修改询问里的时间线
在这上面分治、划分,计算前半部分对后半部分的影响,显然可以按第二维的顺序维护树状数组

 type node=record
a,b,c,s,p:longint;
end; var a,b,q:array[..] of node;
ans,c:array[..] of longint;
n,m,i,t,j:longint; procedure swap(var a,b:node);
var c:node;
begin
c:=a;
a:=b;
b:=c;
end; function cmp(a,b:node):boolean;
begin
if a.a<b.a then exit(true);
if a.a>b.a then exit(false);
if (a.b<b.b) or (a.b=b.b) and (a.c<b.c) then exit(true);
exit(false);
end; procedure sorta(l,r:longint);
var i,j:longint;
x:node;
begin
i:=l;
j:=r;
x:=a[(l+r) shr ];
repeat
while cmp(a[i],x) do inc(i);
while cmp(x,a[j]) do dec(j);
if not(i>j) then
begin
swap(a[i],a[j]);
inc(i);
dec(j);
end;
until i>j;
if l<j then sorta(l,j);
if i<r then sorta(i,r);
end; function lowbit(x:longint):longint;
begin
exit(x and (-x));
end; procedure add(x,w:longint);
begin
while x<=m do
begin
inc(c[x],w);
x:=x+lowbit(x);
end;
end; function ask(x:longint):longint;
begin
ask:=;
while x> do
begin
ask:=ask+c[x];
x:=x-lowbit(x);
end;
end; procedure cdq(l,r:longint);
var m,i,j,l1,l2:longint;
begin
if l=r then exit;
m:=(l+r) shr ;
cdq(l,m);
cdq(m+,r);
j:=l;
for i:=m+ to r do
begin
while (j<=m) and (b[j].b<=b[i].b) do
begin
add(b[j].c,b[j].p);
inc(j);
end;
inc(b[i].s,ask(b[i].c));
end;
for i:=l to j- do
add(b[i].c,-b[i].p);
l1:=l; l2:=m+;
for i:=l to r do
if ((l1<=m) and (b[l1].b<b[l2].b)) or (l2>r) then
begin
q[i]:=b[l1];
inc(l1);
end
else begin
q[i]:=b[l2];
inc(l2);
end;
for i:=l to r do
b[i]:=q[i];
end; begin
readln(n,m);
for i:= to n do
readln(a[i].a,a[i].b,a[i].c);
sorta(,n);
i:=;
while i<n do
begin
inc(i);
j:=i+;
while (a[j].a=a[i].a) and (a[j].b=a[i].b) and (a[j].c=a[i].c) do inc(j); //这步不能少,因为要保证后半部分序列对前半部分没有影响
inc(t);
b[t]:=a[i];
b[t].p:=j-i;
i:=j-;
end;
cdq(,t);
for i:= to t do
inc(ans[b[i].s+b[i].p-],b[i].p);
for i:= to n- do
writeln(ans[i]);
end.

bzoj3262的更多相关文章

  1. [BZOJ3262]陌上花开

    [BZOJ3262]陌上花开 试题描述 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一 ...

  2. 【BZOJ3262】陌上花开(CDQ分治)

    [BZOJ3262]陌上花开(CDQ分治) 题解 原来放过这道题目,题面在这里 树套树的做法也请点上面 这回用CDQ分治做的 其实也很简单, 对于第一维排序之后 显然只有前面的对后面的才会产生贡献 那 ...

  3. 【BZOJ3262】陌上花开(树套树)

    [BZOJ3262]陌上花开(树套树) 题面 对于权限题,我这种苦逼肯定是从别的OJ上搞的对不对??? CJOJ 洛谷 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味 ...

  4. BZOJ3262/洛谷P3810 陌上花开 分治 三维偏序 树状数组

    原文链接http://www.cnblogs.com/zhouzhendong/p/8672131.html 题目传送门 - BZOJ3262 题目传送门 - 洛谷P3810 题意 有$n$个元素,第 ...

  5. 【BZOJ3262】陌上花开 cdq分治

    [BZOJ3262]陌上花开 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义 ...

  6. bzoj3262陌上花开 cdq分治入门题

    Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当 ...

  7. bzoj3262 陌上花开 cdq+树状数组

    [bzoj3262]陌上花开 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义 ...

  8. 树套树【bzoj3262】陌上花开

    /* [bzoj3262]陌上花开 2014年6月19日1,2430 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的 ...

  9. 【BZOJ-3262】陌上花开 CDQ分治(3维偏序)

    3262: 陌上花开 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1439  Solved: 648[Submit][Status][Discuss ...

  10. bzoj3262: 陌上花开(树套树)

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

随机推荐

  1. XML, XPath, Xslt及解析/Parse

    XML及解析/Parse "Programming with libxml2 is like the thrilling embrace of an exotic stranger.&quo ...

  2. 在Windows下用Mingw 4.5.2编译X264

    1.下载mingw-get-inst-20110530.rar(http://www.baidu.com/link?url=-ixXW6QiuEl8CA1dKudoWCxzcTvxrpQ0nXRBHU ...

  3. linux 配置Socks5

    1.配置 Socks5 编译环境. yum -y install gcc automake autoconf libtool make 2.安装 Socks5 需要的包. yum -y install ...

  4. lucene 4.0学习

    一:官方文件 http://lucene.apache.org/core/4_0_0/ ps:网上参考文章:http://www.cnblogs.com/xing901022/p/3933675.ht ...

  5. Android Studio第一次提交git使用

    安装: Git客户端网址:http://git-scm.com/download/ 根据自己的使用平台下载对应的客户端.这里以Mac系统为例,当客户端软件安装配置完毕后,打开AS的配置面板,找到Git ...

  6. jQuery Ajax无刷新操作

    下面是“无刷新登录”的例子,采用Ashx+jQuery Ajax实现. //后台实例代码 ashx文件(可替换为从数据库中读取) public void ProcessRequest(HttpCont ...

  7. web2py--------------用web2py写 django的例子 --------开发环境

    我们先从广为人知的例子说起xi 也就是官方的例子,我会在最后给出代码: ============================环境=================== 编译器使用vs code , ...

  8. Python数据结构——散列表

    散列表的实现常常叫做散列(hashing).散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的.需要元素间任何排序信息的操作将不会得到有效的支持. 散列表是普通数组概念的 ...

  9. WPF学习笔记3——Layout之1

    一.概述 了解XAML的基本之后,进入Layout的学习.Layout,即布局,可能需要用到几种不同的容器.每一种容器都有各自的逻辑.在用户界面的设计过程中,很多时候是在想办法使得界面更加吸引.实在. ...

  10. CentOS 6.6x64下编译gcc-4.7.4

    最近使用老版本的gcc发现一些问题,于是想尝试升级. 看了一些教程之后进行尝试,发现各类教程均会有一些小问题,于是在此记录一下本人的过程. 编译过程中参考的文章有如下几篇,在此表示感谢: http:/ ...