EZOJ #361地理
生活随笔
收集整理的這篇文章主要介紹了
EZOJ #361地理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分析
就是分別維護l和r的個數
然后對于詢問區間[L,R]
之后l樹狀數組中小于等于R的個數減掉r樹狀數組中小于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 ;
}
總結
以上是生活随笔為你收集整理的EZOJ #361地理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入Asyncio(一)入门介绍
- 下一篇: [minio]挂载minio到本地