zoukankan      html  css  js  c++  java
  • BZOJ3262: 陌上花开

    众所周知三维偏序可以树套树或者分治

    然后我就写了二维离散化+二维树状数组

    然而并没有分治快……

    #include<algorithm>
    #include<cstdio>
    #define F lower_bound
    #define G upper_bound
    using namespace std;
    const int N=1e5+5;
    struct buf{
    	operator int(){
    		int x;scanf("%d",&x);
    		return x;
    	}
    }it;
    struct vec{int i,j,k;}s[N];
    bool operator<(vec a,vec b){
    	return a.i^b.i?a.i<b.i:a.j^b.j?a.j<b.j:a.k<b.k;
    }
    bool operator!=(vec a,vec b){
    	return a<b||b<a;
    }
    int e[N*40],*q=e;
    struct node{
    	int sum(int i){
    		int j=0;
    		for(i=G(u,u+s,i)-u;i;i^=i&-i)
    			j+=v[i-1];
    		return j;
    	}
    	void add(int i){
    		for(i=G(u,u+s,i)-u;i<=s;i+=i&-i)
    			++v[i-1];
    	}
    	int s,*u,*v;
    	void alloc(){
    		u=q,q+=s,v=q,q+=s,s=0;
    	}
    	void ins(int i){
    		u[s++]=i;
    	}
    	void ins(node& a){
    		for(int i=0;i!=a.s;++i)
    			u[s++]=a.u[i];
    	}
    	void init(){
    		sort(u,u+s);
    		s=unique(u,u+s)-u;
    	}
    }t[N];
    int n,m,l[N],v[N];
    int main(){
    	n=it,~it;
    	for(int i=0;i!=n;++i){
    		s[i].i=it;
    		s[i].j=l[i]=it;
    		s[i].k=it;
    	}
    	sort(l,l+n);
    	m=unique(l,l+n)-l;
    	sort(s,s+n);
    	for(int i=0;i!=n;++i)
    		++t[s[i].j=F(l,l+m,s[i].j)-l+1].s;
    	for(int i=1;i<=m;++i){
    		if(i+(i&-i)<=m)
    			t[i+(i&-i)].s+=t[i].s;
    		t[i].alloc();
    	}
    	for(int i=0;i!=n;++i)
    		t[s[i].j].ins(s[i].k);
    	for(int i=1;i<=m;++i){
    		t[i].init();
    		if(i+(i&-i)<=m)
    			t[i+(i&-i)].ins(t[i]);
    	}
    	for(int i=0,j=-1;i!=n;++i){
    		if(s[i+1]!=s[i]){
    			int* u=v;
    			for(int k=s[i].j;k;k^=k&-k)
    				u+=t[k].sum(s[i].k);
    			*u+=i-j,j=i;
    		}
    		for(int k=s[i].j;k<=m;k+=k&-k)
    			t[k].add(s[i].k);
    	}
    	for(int i=0;i!=n;++i)
    		printf("%d
    ",v[i]);
    }
    
  • 相关阅读:
    JMeter基础篇--录制web脚本(四)
    jmeter的基础使用(二)
    jmeter安装教程(一)
    delete用法(删除表内容)
    update用法(修改表内容)
    IPy对网段的处理
    netmiko
    读写conf文件
    读写json文件
    excel及数据处理
  • 原文地址:https://www.cnblogs.com/f321dd/p/5803582.html
Copyright © 2011-2022 走看看