QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#402475 | #4894. 学姐买瓜 | zslizeyu | 20 | 35ms | 7072kb | C++14 | 2.2kb | 2024-04-30 17:06:47 | 2024-04-30 17:06:48 |
Judging History
answer
#include<bits/stdc++.h>
#define fo(i,x,y) for(int i(x);i<=y;i=-~i)
#define fd(i,x,y) for(int i(x);i>=y;--i)
#define ll long long
using namespace std;
const int N=3e5+5;
int n,m,ch[N][2],fa[N],v[N],lmx[N],sum[N],ans;
set<int>s;
void pushup(int x){
sum[x]=sum[ch[x][0]]+sum[ch[x][1]]+v[x];
}
bool nrt(int x){
return ch[fa[x]][0]==x||ch[fa[x]][1]==x;
}
int get(int x){
return ch[fa[x]][1]==x;
}
void rot(int x){
int y(fa[x]),z(fa[y]),t(get(x)),tt(get(y)),A(ch[x][t^1]);
if(nrt(y))ch[z][tt]=x;ch[x][t^1]=y;ch[y][t]=A;
fa[A]=y;fa[y]=x;fa[x]=z;
pushup(y);pushup(x);
}
void splay(int x){
for(;nrt(x);rot(x))if(nrt(fa[x]))get(x)==get(fa[x])?rot(fa[x]):rot(x);
}
void access(int x){
for(int y=0;x;y=x,x=fa[x]){
splay(x);ch[x][1]=y;pushup(x);
}
}
void del(int l,int r){
access(r+1);splay(l);v[l]=0;pushup(l);fa[l]=l+1;
}
void ins(int l,int r){
access(l+1);splay(l);v[l]=1;pushup(l);fa[l]=r+1;
}
void query(int l,int r){
ans=0;
access(l);splay(l);
int x(l),p(0);
while(x){
if(x<=r+1){
ans+=v[x]+sum[ch[x][1]];p=x;x=ch[x][0];
}
else x=ch[x][1];
}
ans-=v[p];
printf("%d\n",ans);
}
int main(){
scanf("%d%d",&m,&n);
fo(i,1,n)fa[i]=i+1;
fo(I,1,m){
int op,l,r;scanf("%d%d%d",&op,&l,&r);
if(op==1){
if(lmx[r]){
if(l>lmx[r]){
del(lmx[r],r);ins(l,r);lmx[r]=l;
}
}
else{
while(1){
auto t=s.upper_bound(r);
if(t==s.end())break;
int y(*t),x(lmx[y]);
if(x>l)break;
del(x,y);
lmx[y]=0;
s.erase(t);
}
auto t=s.lower_bound(r);
if(t==s.begin()||lmx[*(--t)]<l){
ins(l,r);lmx[r]=l;s.insert(r);
}
}
}
else{
query(l,r);
}
// if(I==2)continue;
// for(auto v:s)printf("l:%d r:%d ",lmx[v],v);
// printf("\n");
}
return 0;
}
详细
Subtask #1:
score: 20
Accepted
Test #1:
score: 20
Accepted
time: 1ms
memory: 5848kb
input:
11 13 2 4 4 1 11 12 1 1 5 1 2 3 1 2 10 2 2 8 1 6 6 2 2 10 1 6 11 2 2 3 2 2 13
output:
0 1 2 1 3
result:
ok 5 lines
Test #2:
score: 0
Accepted
time: 1ms
memory: 5920kb
input:
2000 2000 2 66 273 1 475 1570 2 51 958 2 731 1771 1 1286 1627 1 37 892 1 529 890 2 155 1486 1 87 1815 1 576 1872 2 1269 1515 2 1521 1794 2 634 1887 2 204 1668 1 351 1679 2 1571 1599 1 243 681 2 1 2000 2 1 2000 2 564 648 2 1215 1807 2 466 1617 1 1119 1348 1 497 886 2 1358 1487 2 173 1974 1 401 1294 2...
output:
0 0 0 1 0 0 1 2 0 2 2 0 1 1 0 2 1 1 0 1 0 1 0 0 1 2 1 1 1 2 1 1 0 0 2 2 0 2 2 0 1 3 0 0 4 0 0 2 2 5 2 0 4 0 2 0 2 3 3 0 0 1 3 2 0 3 6 1 0 1 1 4 0 8 0 8 1 3 1 8 1 4 9 2 2 0 4 5 2 9 3 0 9 1 3 8 9 1 0 7 0 8 5 7 0 1 0 6 10 2 6 0 1 0 6 4 6 5 4 4 4 0 10 0 6 2 8 9 1 10 5 7 8 10 1 10 8 5 2 6 1 5 10 8 10 5 3...
result:
ok 1020 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 5972kb
input:
2000 2000 2 66 273 1 475 1570 2 51 958 2 731 1771 1 1286 1627 1 37 892 1 529 890 2 155 1486 1 87 1815 1 576 1872 2 1269 1515 2 1521 1794 2 634 1887 2 204 1668 1 351 1679 2 1571 1599 1 243 681 2 1 2000 2 1 2000 2 564 648 2 1215 1807 2 466 1617 1 1119 1348 1 497 886 2 1358 1487 2 173 1974 1 401 1294 2...
output:
0 0 0 1 0 0 1 2 0 2 2 0 1 1 0 2 1 1 0 1 0 1 0 0 1 2 1 1 1 2 1 1 0 0 2 2 0 2 2 0 1 3 0 0 4 0 0 2 2 5 2 0 4 0 2 0 2 3 3 0 0 1 3 2 0 3 6 1 0 1 1 4 0 8 0 8 1 3 1 8 1 4 9 2 2 0 4 5 2 9 3 0 9 1 3 8 9 1 0 7 0 8 5 7 0 1 0 6 10 2 6 0 1 0 6 4 6 5 4 4 4 0 10 0 6 2 8 9 1 10 5 7 8 10 1 10 8 5 2 6 1 5 10 8 10 5 3...
result:
ok 1020 lines
Test #4:
score: 0
Accepted
time: 1ms
memory: 5936kb
input:
14 11 1 1 8 1 4 11 2 4 8 1 2 7 1 7 11 2 2 9 1 6 10 1 2 6 1 8 10 1 2 6 2 9 10 1 9 9 1 3 10 1 2 4
output:
0 1 0
result:
ok 3 lines
Test #5:
score: 0
Accepted
time: 2ms
memory: 6080kb
input:
2000 2000 1 1589 1640 1 1741 1765 2 191 1596 1 426 493 2 1434 1606 1 925 955 2 589 1148 2 1347 1608 2 686 1516 1 1535 1563 1 1835 1841 1 1513 1537 2 30 1710 2 123 171 2 1 2000 2 128 1310 2 270 879 1 1918 1941 2 965 1951 2 176 1452 1 1391 1421 1 614 664 2 1 2000 1 296 328 1 1378 1402 1 29 47 1 92 123...
output:
0 0 1 0 1 4 0 6 2 1 5 2 9 12 4 0 6 14 3 3 0 1 13 3 6 19 13 20 1 4 2 10 1 5 4 8 3 5 24 18 9 17 13 0 28 22 4 6 13 1 13 4 15 5 2 16 1 33 25 16 18 17 8 17 23 36 22 27 9 23 9 7 17 2 12 16 39 11 32 40 4 10 15 23 21 14 10 15 6 43 17 3 17 0 1 15 14 29 33 8 44 44 5 10 27 22 11 6 23 0 7 24 14 24 1 9 36 15 39 ...
result:
ok 1000 lines
Test #6:
score: 0
Accepted
time: 2ms
memory: 6028kb
input:
2000 2000 1 1589 1640 1 1741 1765 2 191 1596 1 426 493 2 1434 1606 1 925 955 2 589 1148 2 1347 1608 2 686 1516 1 1535 1563 1 1835 1841 1 1513 1537 2 30 1710 2 123 171 2 1 2000 2 128 1310 2 270 879 1 1918 1941 2 965 1951 2 176 1452 1 1391 1421 1 614 664 2 1 2000 1 296 328 1 1378 1402 1 29 47 1 92 123...
output:
0 0 1 0 1 4 0 6 2 1 5 2 9 12 4 0 6 14 3 3 0 1 13 3 6 19 13 20 1 4 2 10 1 5 4 8 3 5 24 18 9 17 13 0 28 22 4 6 13 1 13 4 15 5 2 16 1 33 25 16 18 17 8 17 23 36 22 27 9 23 9 7 17 2 12 16 39 11 32 40 4 10 15 23 21 14 10 15 6 43 17 3 17 0 1 15 14 29 33 8 44 44 5 10 27 22 11 6 23 0 7 24 14 24 1 9 36 15 39 ...
result:
ok 1000 lines
Test #7:
score: 0
Accepted
time: 0ms
memory: 5880kb
input:
2000 2000 2 100 273 1 1901 1904 2 51 958 2 731 1771 1 1772 1775 1 375 378 1 540 543 1 649 652 1 129 132 2 139 286 2 155 1490 2 87 1279 1 547 550 2 1135 1365 1 1685 1688 2 470 1269 2 1521 1540 2 62 634 2 1186 1668 1 1276 1279 1 725 728 2 1571 1599 1 246 249 2 243 681 1 103 106 1 547 550 2 324 361 2 5...
output:
0 0 0 0 3 4 0 3 0 4 0 0 5 0 6 1 8 0 2 1 11 3 1 5 15 6 1 18 1 5 0 1 4 22 8 5 24 17 8 26 0 6 27 4 17 14 29 3 40 15 30 23 13 6 13 10 18 2 33 9 31 47 12 0 48 4 27 2 3 10 6 52 15 1 17 7 9 58 15 7 9 37 17 2 27 4 13 57 32 21 43 66 16 49 10 6 0 26 25 51 42 13 26 5 82 4 82 13 14 13 5 48 8 38 94 15 23 3 39 38...
result:
ok 990 lines
Test #8:
score: 0
Accepted
time: 2ms
memory: 5984kb
input:
2000 2000 2 100 273 1 1901 1904 2 51 958 2 731 1771 1 1772 1775 1 375 378 1 540 543 1 649 652 1 129 132 2 139 286 2 155 1490 2 87 1279 1 547 550 2 1135 1365 1 1685 1688 2 470 1269 2 1521 1540 2 62 634 2 1186 1668 1 1276 1279 1 725 728 2 1571 1599 1 246 249 2 243 681 1 103 106 1 547 550 2 324 361 2 5...
output:
0 0 0 0 3 4 0 3 0 4 0 0 5 0 6 1 8 0 2 1 11 3 1 5 15 6 1 18 1 5 0 1 4 22 8 5 24 17 8 26 0 6 27 4 17 14 29 3 40 15 30 23 13 6 13 10 18 2 33 9 31 47 12 0 48 4 27 2 3 10 6 52 15 1 17 7 9 58 15 7 9 37 17 2 27 4 13 57 32 21 43 66 16 49 10 6 0 26 25 51 42 13 26 5 82 4 82 13 14 13 5 48 8 38 94 15 23 3 39 38...
result:
ok 990 lines
Test #9:
score: 0
Accepted
time: 2ms
memory: 5912kb
input:
2000 2000 2 100 273 1 1901 1904 2 51 958 2 731 1771 1 1772 1775 1 375 378 1 540 543 1 649 652 1 129 132 2 139 286 2 155 1490 2 87 1279 1 547 550 2 1135 1365 1 1685 1688 2 470 1269 2 1521 1540 2 62 634 2 1186 1668 1 1276 1279 1 725 728 2 1571 1599 1 246 249 2 243 681 1 103 106 1 547 550 2 324 361 2 5...
output:
0 0 0 0 3 4 0 3 0 4 0 0 5 0 6 1 8 0 2 1 11 3 1 5 15 6 1 18 1 5 0 1 4 22 8 5 24 17 8 26 0 6 27 4 17 14 29 3 40 15 30 23 13 6 13 10 18 2 33 9 31 47 12 0 48 4 27 2 3 10 6 52 15 1 17 7 9 58 15 7 9 37 17 2 27 4 13 57 32 21 43 66 16 49 10 6 0 26 25 51 42 13 26 5 82 4 82 13 14 13 5 48 8 38 94 15 23 3 39 38...
result:
ok 990 lines
Test #10:
score: 0
Accepted
time: 0ms
memory: 5912kb
input:
2000 2000 2 66 273 1 1 501 1 2 502 2 51 70 1 3 503 2 731 1771 1 4 504 2 149 1627 2 1792 1849 1 5 505 2 139 286 2 155 1490 2 87 1279 1 6 506 2 816 1365 2 576 783 2 1269 1515 2 1521 1794 2 634 1887 2 204 1668 1 7 507 1 8 508 1 9 509 2 1571 1599 1 10 510 2 1 2000 2 1 2000 2 1 2000 2 564 648 2 1215 1807...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ...
result:
ok 1004 lines
Test #11:
score: 0
Accepted
time: 1ms
memory: 6076kb
input:
2000 2000 2 66 273 1 1 501 1 2 502 2 51 70 1 3 503 2 731 1771 1 4 504 2 149 1627 2 1792 1849 1 5 505 2 139 286 2 155 1490 2 87 1279 1 6 506 2 816 1365 2 576 783 2 1269 1515 2 1521 1794 2 634 1887 2 204 1668 1 7 507 1 8 508 1 9 509 2 1571 1599 1 10 510 2 1 2000 2 1 2000 2 1 2000 2 564 648 2 1215 1807...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ...
result:
ok 1004 lines
Test #12:
score: 0
Accepted
time: 2ms
memory: 6020kb
input:
2000 2000 2 87 1924 1 1223 1268 2 64 1968 1 426 493 2 27 1931 1 1191 1226 2 86 1985 1 1742 1771 2 81 1984 1 631 677 1 792 813 2 32 1936 2 63 1954 2 56 1952 2 4 1937 1 1095 1117 1 781 797 1 1036 1052 1 144 174 1 999 1027 2 43 1911 2 49 1995 1 326 363 1 1580 1627 1 270 303 1 1010 1037 1 687 728 1 1895...
output:
0 1 2 2 3 5 5 5 5 9 9 14 14 14 14 15 15 16 15 15 17 15 15 18 17 17 18 20 19 19 20 20 19 20 20 20 20 20 20 20 21 20 22 23 22 24 25 22 24 24 24 23 26 27 25 27 28 29 28 27 30 30 30 27 29 29 28 30 31 30 31 31 30 29 32 30 33 31 34 33 13 35 33 35 31 32 32 33 31 32 32 33 35 35 36 34 36 35 36 34 38 36 36 35...
result:
ok 1000 lines
Test #13:
score: 0
Accepted
time: 0ms
memory: 6068kb
input:
2000 2000 2 87 1924 1 1223 1268 2 64 1968 1 426 493 2 27 1931 1 1191 1226 2 86 1985 1 1742 1771 2 81 1984 1 631 677 1 792 813 2 32 1936 2 63 1954 2 56 1952 2 4 1937 1 1095 1117 1 781 797 1 1036 1052 1 144 174 1 999 1027 2 43 1911 2 49 1995 1 326 363 1 1580 1627 1 270 303 1 1010 1037 1 687 728 1 1895...
output:
0 1 2 2 3 5 5 5 5 9 9 14 14 14 14 15 15 16 15 15 17 15 15 18 17 17 18 20 19 19 20 20 19 20 20 20 20 20 20 20 21 20 22 23 22 24 25 22 24 24 24 23 26 27 25 27 28 29 28 27 30 30 30 27 29 29 28 30 31 30 31 31 30 29 32 30 33 31 34 33 13 35 33 35 31 32 32 33 31 32 32 33 35 35 36 34 36 35 36 34 38 36 36 35...
result:
ok 1000 lines
Test #14:
score: 0
Accepted
time: 2ms
memory: 6008kb
input:
2000 2000 2 87 1924 1 1223 1268 2 64 1968 1 426 493 2 27 1931 1 1191 1226 2 86 1985 1 1742 1771 2 81 1984 1 631 677 1 792 813 2 32 1936 2 63 1954 2 56 1952 2 4 1937 1 1095 1117 1 781 797 1 1036 1052 1 144 174 1 999 1027 2 43 1911 2 49 1995 1 326 363 1 1580 1627 1 270 303 1 1010 1037 1 687 728 1 1895...
output:
0 1 2 2 3 5 5 5 5 9 9 14 14 14 14 15 15 16 15 15 17 15 15 18 17 17 18 20 19 19 20 20 19 20 20 20 20 20 20 20 21 20 22 23 22 24 25 22 24 24 24 23 26 27 25 27 28 29 28 27 30 30 30 27 29 29 28 30 31 30 31 31 30 29 32 30 33 31 34 33 13 35 33 35 31 32 32 33 31 32 32 33 35 35 36 34 36 35 36 34 38 36 36 35...
result:
ok 1000 lines
Test #15:
score: 0
Accepted
time: 1ms
memory: 5968kb
input:
12 11 2 4 5 2 2 10 1 3 7 1 4 7 1 5 11 1 5 7 2 1 3 1 1 4 2 3 3 2 11 11 1 1 10 2 10 11
output:
0 0 0 0 0 0
result:
ok 6 lines
Subtask #2:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Test #16:
score: 0
Wrong Answer
time: 35ms
memory: 7072kb
input:
80000 80000 2 14017 46708 2 26100 26240 2 3855 12007 2 72192 75052 1 12615 30948 2 36 51149 1 47528 79363 1 68506 72310 1 31635 62123 2 7480 77998 1 52530 75803 2 1793 30290 2 47012 72210 1 63304 66834 1 24988 62161 1 34585 61735 1 2973 61060 2 23879 44146 2 11903 26606 2 11536 72847 1 47874 65933 1...
output:
0 0 0 0 1 3 0 0 0 0 4 2 0 0 0 0 2 0 0 1 0 1 1 4 0 6 1 1 3 1 1 0 6 6 0 1 1 4 1 4 6 3 0 4 4 0 4 0 4 5 7 4 7 5 5 2 9 5 5 2 10 1 1 0 1 0 3 8 0 11 2 0 8 5 5 3 11 5 11 4 4 3 0 2 6 5 9 4 6 5 2 0 0 0 7 5 0 4 0 2 13 0 5 7 7 5 5 2 6 0 14 0 0 3 4 4 7 7 2 4 3 8 2 1 15 7 7 7 0 12 5 10 0 5 5 5 6 7 12 1 16 3 2 0 2...
result:
wrong answer 7231st lines differ - expected: '17', found: '16'
Subtask #3:
score: 0
Skipped
Dependency #2:
0%