EZOJ #361地理
生活随笔
收集整理的這篇文章主要介紹了
EZOJ #361地理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
分析
就是分別維護(hù)l和r的個(gè)數(shù)
然后對(duì)于詢問(wèn)區(qū)間[L,R]
之后l樹(shù)狀數(shù)組中小于等于R的個(gè)數(shù)減掉r樹(shù)狀數(shù)組中小于L的即可
代碼
#include<bits/stdc++.h>
using namespace std;
int n;
struct BIT {
int d[];
inline int lb(int x){return x&(-x);}
inline void add(int x){while(x<=n)d[x]++,x+=lb(x);}
inline int que(int x){int res=;while(x)res+=d[x],x-=lb(x);return res;}
};
BIT a,b;
int main(){
int i,j,k,x,y;
cin>>n;
for(i=;i<=n;i++){
scanf("%d",&k);
if(k==)scanf("%d%d",&x,&y),a.add(x),b.add(y);
else scanf("%d%d",&x,&y),printf("%d\n",a.que(y)-b.que(x-));
}
return ;
}
總結(jié)
以上是生活随笔為你收集整理的EZOJ #361地理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深入Asyncio(一)入门介绍
- 下一篇: [minio]挂载minio到本地