Gravatar
CSU_Turkey
积分:1716
提交:614 / 1589
我用了一种完全不对的树规过了9个点...可怕

Gravatar
test
积分:1070
提交:380 / 1216
回复 @MayLava :
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#define N 100010
#define lowbit ( (i) & (-i) )
#define LL long long
using namespace std;
struct point{
int x,y;
void read(){scanf("%d%d",&x,&y);}
}p[N];
struct seg{
int h1,h2,h3,flag;
seg() {}
seg(int x,int y,int z,int a):h1(x),h2(y),h3(z),flag(a) {}
}s[N];
int tree[N],n,tot,sz,sub[N];
void Insert(int pos,int num){for(int i=pos;i<N;i+=lowbit)tree[i]+=num;}
int Query(int pos){int sum(0);for(int i=sum;i;i-=lowbit)sum+=tree[i];return sum;}
int find(int x){
return lower_bound(sub+1,sub+sz+1,x)-sub;
}
void link(int ff,int l,int r,int h){//0横线,//1竖线
if(!ff){
s[++tot]=seg(find(l),find(r),h,0);
}else {
int X=find(h);
s[++tot]=seg(X,X,l,1);
s[++tot]=seg(X,X,r,-1);
}
}
bool comp(const point & a,const point & b){return a.x==b.x?a.y<b.y:a.x<b.x;}
bool Comp(const point & a,const point & b){return a.y==b.y?a.x<b.x:a.y<b.y;}
bool COMP(const seg & a,const seg & b){
if(a.h3!=b.h3)return a.h3<b.h3;
return a.flag<b.flag;
}
void build(){
sort(p+1,p+n+1,comp);
for(int i=2;i<=n;++i)
if(p[i].x==p[i-1].x)
link(1,p[i-1].y,p[i].y,p[i].x);
sort(p+1,p+n+1,Comp);
for(int i=2;i<=n;++i)
if(p[i].y==p[i-1].y)
link(0,p[i-1].x,p[i].x,p[i].y);
sort(s+1,s+tot+1,COMP);
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i)p[i].read(),sub[++sub[0]]=p[i].x;
sort(sub+1,sub+sub[0]+1);
sz=unique(sub+1,sub+sub[0]+1)-sub-1;
build();LL Ans(0);
for(int i=1;i<=tot;++i){
if(!s[i].flag)Ans+=Query(s[i].h2)-Query(s[i].h1-1);
else {
Insert(s[i].h1,s[i].flag);
}
}cout<<Ans;
return 0;
}

题目 1 加法问题
2017-09-05 22:51:53
Gravatar
CSU_Turkey
积分:1716
提交:614 / 1589
w了一个点..

Gravatar
AAAAAAAAAA
积分:3250
提交:759 / 1404
暴力rank1

题目 2097 不平凡的boss
2017-09-05 21:53:56
Gravatar
Shirry
积分:2255
提交:554 / 1107
陷入LCA的错解中……

题目 2095 不平凡的引线
2017-09-05 21:18:42
Gravatar
JustWB
积分:619
提交:222 / 519
终于过了..........

Gravatar
Hyoi_0Koto
积分:1188
提交:297 / 652
回复 @COGS再见 :
自我检讨

Gravatar
HeHe
积分:1192
提交:426 / 866
别的不说,先打个表。。

Gravatar
kZime
积分:1101
提交:334 / 677

Gravatar
CSU_Turkey
积分:1716
提交:614 / 1589
又练习一发分块

题目 247 售票系统
2017-09-05 17:22:20
Gravatar
CSU_Turkey
积分:1716
提交:614 / 1589
说好的模板题交了n次...
建树的时候不是1—n而是1——n-1
查询的时候也有点小小的细节

Gravatar
CSU_Turkey
积分:1716
提交:614 / 1589
好气

题目 247 售票系统
2017-09-05 16:41:25
Gravatar
cstdio
积分:4746
提交:1198 / 2108
回复 @GJ-shirry :
是的……

Gravatar
cstdio
积分:4746
提交:1198 / 2108
坑点:打阶乘表算组合数,这个表应该开多大……

Gravatar
liuyu
积分:1188
提交:265 / 675
为什么我的输出和第一个点一样,却判我w

Gravatar
Shirry
积分:2255
提交:554 / 1107
写到哭

Gravatar
CSU_Turkey
积分:1716
提交:614 / 1589
离散化+差分
200t留念

Gravatar
AAAAAAAAAA
积分:3250
提交:759 / 1404
烧内存

Gravatar
AAAAAAAAAA
积分:3250
提交:759 / 1404
自己脑洞的可持久化线段树,因为缺乏理论指导,代码丑的要死

题目 2554 可持久化线段树
2017-09-05 09:55:28
Gravatar
Shirry
积分:2255
提交:554 / 1107
Tarjan求LCA 60分