= =原来复杂度还是nlog^2(n) Orz 被喷了

 #include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std; const int D=3e6;
char in[D],*I=in,out[D],*O=out; inline int gint(){
int x=;for(;*I<||*I>;++I);
for(;*I>&&*I<;++I)x=*x+*I-;
return x;
} inline void print(int x){
char tmp[],*t=tmp;
if(!x)*t++=;
for(;x;x/=)*t++=x%+;
for(;t--!=tmp;*O++=*t);
*O++='\n';
} const int Maxn= + ;
int C[Maxn*],ans[Maxn],N,K,n=;
struct Node{
int a,b,c,s,ans;
inline bool operator==(const Node&rhs)const{
return a==rhs.a&&b==rhs.b&&c==rhs.c;
}
inline bool operator!=(const Node&rhs)const{
return !(*this==rhs);
}
void init(){a=gint(),b=gint(),c=gint();}
}p[Maxn],q[Maxn]; inline void Add(int x,const int&y){
for(;<x&&x<=K;x+=x&-x)C[x]+=y;
}
inline int Query(int x){
int ret=;
for(;<x&&x<=K;x-=x&-x)ret+=C[x];
return ret;
}
inline bool cmp1(const Node&x,const Node&y){
if(x.a!=y.a)return x.a<y.a;
if(x.b!=y.b)return x.b<y.b;
return x.c<y.c;
}
inline bool cmp2(const Node&x,const Node&y){
if(x.b!=y.b)return x.b<y.b;
return x.c<y.c;
}
void CDQ(int l,int r){
if(l==r)return;
int mid=(l+r)>>;
CDQ(l,mid);CDQ(mid+,r); int i=l;
for(int j=mid+;j<=r;j++){
for(;i<=mid&&p[i].b<=p[j].b;i++)
Add(p[i].c,p[i].s);
p[j].ans+=Query(p[j].c);
}
for(int j=l;j<i;j++)Add(p[j].c,-p[j].s);
merge(p+l,p+mid+,p+mid+,p+r+,q,cmp2);
memcpy(p+l,q,sizeof(p[])*(r-l+));
}
void init(){
N=gint(),K=gint();
for(int i=;i<=N;i++)q[i].init();
sort(q+,q+N+,cmp1);
for(int cnt=,i=;i<=N;i++,cnt++){
if(q[i]!=q[i+]){p[++n]=q[i];p[n].s=cnt;cnt=;}
}
}
int main(){
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout); fread(I,,D,stdin); init();
CDQ(,n); for(int i=;i<=n;i++)ans[p[i].ans+p[i].s-]+=p[i].s;
for(int i=;i<N;i++)print(ans[i]); *--O=; return puts(out),;
}

最新文章

  1. WPF 提示框、确认框、确认输入框
  2. HDU-I Hate It
  3. 去掉tppabs冗余代码,怎样批量去掉tppabs代码
  4. XML元素和结点的区别
  5. windows下多个python版本共存
  6. WCF帮助类
  7. svn 清空
  8. Hibernate4.x之映射文件
  9. 【转】中兴G718C卡刷刷机教程(青漾2 4G)--不错
  10. JavaScript 反柯里化
  11. getResourceAsStream和getResource的用法
  12. vue实现侧边栏手风琴效果
  13. POJ - 3984 bfs [kuangbin带你飞]专题一
  14. ssh整合之七注解结合xml形式
  15. RoboMongo命令(版本:Robo 3T 1.1.1)
  16. java基础语法-内部类与匿名内部类
  17. Go基础系列:Go实现工作池的两种方式
  18. 分享一个爬取HUST(哈理工)学生成绩的Python程序(OCR自动识别验证码)
  19. sublime开启vim模式
  20. 分类算法之朴素贝叶斯分类(Naive Bayesian classification)

热门文章

  1. winform C#屏幕右下角弹出消息框并自动消失
  2. andriod 开发记录apidemos 错误解决
  3. WINDOWS 7下安装CVXOPT
  4. Cannot open your terminal &#39;/dev/pts/4&#39; - please check.
  5. log4j详细配置说明
  6. 【HTTP】HTTP access control (CORS)
  7. 当用DJANGO的migrate不成功时。。。。
  8. Android 使用HTTP(get和post)方式登陆服务器
  9. h.264并行解码算法2D-Wave实现(基于多核共享内存系统)
  10. (转载)MySQL LIKE 用法:搜索匹配字段中的指定内容