为甚会CE
  • 板块学术版
  • 楼主Blued
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/3/17 17:23
  • 上次更新2023/10/23 21:20:26
查看原帖
为甚会CE
649751
Blued楼主2023/3/17 17:23

本地和洛谷已试可通过

CE记录

#include<iostream>
#include<cstring>
#define int long long
#define lowbit(x) (x & -x)
using namespace std;

const int N = 1e5 + 5;

int n;

int l , r;

int t[N];

int ans;

int T;

void build(int x , int num)
{
	for(int i = x;i <= n;i += lowbit(i))
		t[i] += num;
}

int ask(int x)
{
	ans = 0;
	
	for(int i = x;i;i -= lowbit(i))
		ans += t[i];
	
	return ans;
}

main()
{
	while(cin >> n && n)
	{
		T = n;
		
		memset(t , 0 , sizeof t);
		
		while(T --)
		{
			cin >> l >> r;
			
			build(l , 1) , build(r + 1 , -1);
		}
		
		for(int i = 1;i <= n;i ++)
			cout << ask(i) << ' ';
		
		puts("");
	}
}
2023/3/17 17:23
加载中...