hdu1556差分数组
程序员文章站
2022-03-22 19:07:09
...
#include<bits/stdc++.h>
using namespace std;
int n;
int a,b;
const int maxn=1e5+5;
int c[maxn];
void add(int p,int x){
while(p<=n) c[p]+=x,p+=p&-p;
}
int ask(int p){
int res=0;
while(p) res+=c[p],p-=p&-p;
return res;
}
int main()
{
int i,s[maxn];
while(cin>>n){
if(n==0) break;
memset(c,0,sizeof(c));
for(i=1;i<=n;i++){
cin>>a>>b;
//求从a到b气球的涂色次数
add(a,1);//从a开始一直到n,每个都+1;
add(b+1,-1);//从b开始一直到n,每个-1;
}
for(int i=1;i<n;i++){
cout<<ask(i)<<" ";
}
cout<<ask(n)<<endl;
}
return 0;
}
推荐阅读
-
兰芝隔离霜怎么样?真的是零差评吗?一分钟教你分辨真伪
-
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
-
js计算两个时间差 天 时 分 秒 毫秒的代码
-
java byte数组截取从右往左(java截取数组一部分)
-
java byte数组截取从右往左(java截取数组一部分)
-
DxOMark发布一加7T Pro评测:总分114分 与P30 Pro仅差2分
-
图论小结(一)包括一些最短路,最小生成树,差分约束,欧拉回路,的经典题和变种题。强连通,双连通,割点割桥的应用。二分匹配
-
Python查找数组中数值和下标相等的元素示例【二分查找】
-
python获得两个数组交集、并集、差集的方法
-
五分钟学Java:打印Java数组最优雅的方式是什么?