QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#383526 | #3746. 千万别用树套树 | vision | WA | 364ms | 10492kb | C++17 | 1.2kb | 2024-04-09 15:16:58 | 2024-04-09 15:16:59 |
Judging History
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(n,0)-query(r,0);
cout<<sum-ans<<"\n";
}
else if(l+1==r){
int ans=query(l,1)+query(n,0)-query(r-1,0);
cout<<sum-ans<<"\n";
}
else {
int ans=query(r,1)+query(n,0)-query(l-1,0);
cout<<sum-ans+mp[{l,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: 364ms
memory: 10492kb
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 407th numbers differ - expected: '176', found: '175'