QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#383508#3746. 千万别用树套树visionWA 683ms13552kbC++171.3kb2024-04-09 15:03:052024-04-09 15:03:05

Judging History

This is the latest submission verdict.

  • [2024-04-09 15:03:05]
  • Judged
  • Verdict: WA
  • Time: 683ms
  • Memory: 13552kb
  • [2024-04-09 15:03:05]
  • Submitted

answer

#include <bits/stdc++.h>
#define int long long
#define lson k<<1
#define rson (k<<1)|1
#define debug cout<<666<<endl;
using namespace std;
const int N=1e6+5;
int tr[3][N];//0shi kai shi 1shi jie shu 
// int tr[N];
int n,q;
int lowbit(int x){
	return x&(-x);
}
void add(int w,int x,int op){
	for(int i=w;i<=1e5;i+=lowbit(i)){
		tr[op][i]+=x;
	}
}
int query(int x,int op){
	int sum=0;
	while(x){
		sum+=tr[op][x];
		x-=lowbit(x);
	}
	// cout<<sum<<":";
	return sum;
}
void vision()
{
	while(cin>>n>>q){
		int sum=0;
		map<pair<int,int>,int>mp;
		while(q--){
			int op,l,r;
			cin>>op>>l>>r;
			if(op==1){
				add(l,1,0);
				add(r,1,1);
				mp[{l,r}]++;
				sum++;
			}
			else {
				if(l==r){
					int ans=query(l-1,1)+query(1e5,0)-query(r,0);
					cout<<sum-ans<<"\n";
				}
				else if(l+1==r){
					int ans=query(l-1,1)+query(1e5,0)-query(r,0);
					cout<<sum-ans-mp[{l,l}]-mp[{r,r}]<<"\n";
				}
				else {
					int ans=query(l-1,1)+query(1e5,0)-query(r,0);
					cout<<sum-ans-mp[{l,l}]-mp[{l,l+1}]-mp[{r,r}]-mp[{l+1,l+1}]-mp[{l+1,r}]<<"\n";
				}
			}
		}
		for(int i=1;i<=1e5;i++)tr[0][i]=tr[1][i]=0;
	}
	return ;
}
signed main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int t=1;
	// cin>>t;
	while(t--){
		vision();
	}
	return 0;
}

详细

Test #1:

score: 0
Wrong Answer
time: 683ms
memory: 13552kb

input:

100000 100000
1 48500 63742
1 43673 89780
1 6471 44388
1 68054 71541
1 30056 91431
1 49687 70537
2 46899 46900
1 5165 57954
1 85892 88481
2 18060 18062
2 45289 45289
1 18927 67848
1 17389 96139
1 63451 92197
1 15473 87341
1 15162 15744
1 76728 99645
2 48730 48731
2 20886 20888
1 9756 67424
1 23175 4...

output:

2
2
3
7
5
8
9
4
6
2
11
13
13
10
13
15
9
10
14
16
17
16
16
15
2
4
11
6
11
12
23
9
26
3
28
20
12
12
22
30
5
27
6
29
10
14
27
6
17
15
9
30
20
34
7
36
15
8
32
16
21
40
19
2
1
12
12
39
37
13
19
20
1
9
37
1
41
40
20
34
45
43
27
30
47
29
13
50
41
44
29
35
38
53
2
46
54
36
56
58
45
32
42
26
52
42
60
1
4
25
...

result:

wrong answer 511th numbers differ - expected: '123', found: '124'