2019-01-28[HDU-1541]树状数组

include<iostream>

include<cstring>

using namespace std;
int ans[32005];
int c[32005];
void addd(int x)
{
while (x < 32005)
{
c[x]++;
x += x& (-x);
}
}
int sum(int x)
{
int sum = 0;
while (x > 0)
{
sum += c[x];
x -= x & (-x);
}
return sum;

}

int main()
{
long long n,m;
while (cin >> n && n != 0)
{
memset(c, 0, sizeof(c));
memset(ans, 0, sizeof(ans));
m = n;
while (n--)
{
int x, y;
cin >> x >> y; x++;
ans[sum(x)]++;
addd(x);
}
for (int i = 0; i < m; i++)
cout << ans[i] << endl;

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容