QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#391861 | #4000. Dynamic Reachability | Harry27182 | WA | 5992ms | 11996kb | C++14 | 2.2kb | 2024-04-16 21:19:35 | 2024-04-16 21:19:36 |
Judging History
answer
#include<bits/stdc++.h>
#define ull unsigned long long
using namespace std;
struct node{int u,v,w;}g[100005];
struct Query{int op,x,y;}Q[100005];
int n,m,q,bl[100005],L[100005],R[100005],vec[100005],mp[100005];
int h[100005],cnt,in[100005],ok[100005],vis[100005];ull bs[100005],E[100005];
struct edge{int v,nxt;}e[100005];
void add(int u,int v){e[++cnt]={v,h[u]};h[u]=cnt;}
int main()
{
//freopen("1.in","r",stdin);
//freopen("1.out","w",stdout);
cin.tie(0)->sync_with_stdio(0);
cin>>n>>m>>q;
for(int i=1;i<=m;i++)cin>>g[i].u>>g[i].v,g[i].w=1;
int B=32;
for(int i=1;i<=q;i++)
{
cin>>Q[i].op;
if(Q[i].op==1)cin>>Q[i].x;
else cin>>Q[i].x>>Q[i].y;
bl[i]=(i-1)/B+1;
if(bl[i]!=bl[i-1])L[bl[i]]=i,R[bl[i-1]]=i-1;
}
R[bl[q]]=q;
for(int k=1;k<=bl[q];k++)
{
int l=L[k],r=R[k],tot=0;cnt=0;
for(int i=1;i<=n;i++)h[i]=bs[i]=in[i]=vis[i]=0;
for(int i=1;i<=m;i++)mp[i]=0;
for(int i=l;i<=r;i++)
{
if(Q[i].op==1)
{
mp[Q[i].x]=1;
vec[++tot]=g[Q[i].x].u;
vec[++tot]=g[Q[i].x].v;
}
else
{
vec[++tot]=Q[i].x;
vec[++tot]=Q[i].y;
}
}
sort(vec+1,vec+tot+1);
tot=unique(vec+1,vec+tot+1)-vec-1;
for(int i=1;i<=tot;i++)vis[vec[i]]=i;
for(int i=1;i<=m;i++)if(!mp[i]&&g[i].w==1)add(g[i].v,g[i].u),in[g[i].u]++;
queue<int>q;
for(int i=1;i<=n;i++)if(!in[i])q.push(i);
while(!q.empty())
{
int u=q.front();q.pop();
if(vis[u])bs[u]|=1llu<<(vis[u]-1);
for(int i=h[u];i;i=e[i].nxt)
{
int v=e[i].v;
bs[v]|=bs[u];in[v]--;
if(!in[v])q.push(v);
}
}
for(int i=l;i<=r;i++)
{
if(Q[i].op==1)g[Q[i].x].w^=1;
else
{
for(int j=1;j<=tot;j++)E[j]=bs[vec[j]];
for(int j=l;j<=r;j++)if(Q[j].op==1&&g[Q[j].x].w==1)E[vis[g[Q[j].x].u]]|=1llu<<(vis[g[Q[j].x].v]-1);
int s=vis[Q[i].x],t=vis[Q[i].y];
if(i==3&&n==5000)cout<<s<<' '<<bs[Q[i].x]<<' '<<t<<'\n';
for(int j=1;j<=tot;j++)ok[j]=0;
queue<int>q;q.push(s);ok[s]=1;
while(!q.empty())
{
int u=q.front();q.pop();
for(int j=1;j<=tot;j++)if((E[u]&(1llu<<(j-1)))&&(!ok[j]))ok[j]=1,q.push(j);
}
if(ok[t])cout<<"YES\n";
else cout<<"NO\n";
}
}
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 9696kb
input:
5 6 7 1 2 1 3 2 4 3 4 3 5 4 5 2 1 5 2 2 3 1 3 1 4 2 1 4 1 3 2 1 5
output:
YES NO NO YES
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 5600ms
memory: 11432kb
input:
50000 100000 100000 36671 44121 25592 44321 13226 46463 13060 25694 14021 20087 22881 38333 34655 47774 22868 26462 31154 48710 27491 32365 5874 47497 17622 28600 1886 14193 22315 23656 14973 22704 1335 25384 22612 34915 2852 48213 23334 25519 24342 28784 6238 36125 14598 39494 33069 34250 2123 3059...
output:
NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO ...
result:
ok 50000 lines
Test #3:
score: 0
Accepted
time: 5618ms
memory: 11996kb
input:
50000 100000 100000 27059 36120 32335 41190 9436 29046 36520 44281 25005 39115 37096 43321 11891 38873 10439 31878 19154 25918 26756 44170 9594 16092 9920 23747 17107 35055 31401 35308 17102 35604 18635 26767 27925 29726 7012 14266 973 21483 622 41029 25685 31856 36951 46699 18103 46885 9911 18465 2...
output:
NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO ...
result:
ok 50000 lines
Test #4:
score: 0
Accepted
time: 5992ms
memory: 11880kb
input:
50000 100000 100000 7 14 14 21 21 28 28 35 35 42 42 49 49 56 56 63 63 70 70 77 77 84 84 91 91 98 98 105 105 112 112 119 119 126 126 133 133 140 140 147 147 154 154 161 161 168 168 175 175 182 182 189 189 196 196 203 203 210 210 217 217 224 224 231 231 238 238 245 245 252 252 259 259 266 266 273 273 ...
output:
NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO YES NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO YES NO NO YES NO NO NO YES NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO YES NO NO NO NO NO YES NO NO NO NO NO NO N...
result:
ok 100000 lines
Test #5:
score: 0
Accepted
time: 5600ms
memory: 11608kb
input:
50000 100000 100000 233 466 466 699 699 932 932 1165 1165 1398 1398 1631 1631 1864 1864 2097 2097 2330 2330 2563 2563 2796 2796 3029 3029 3262 3262 3495 3495 3728 3728 3961 3961 4194 4194 4427 4427 4660 4660 4893 4893 5126 5126 5359 5359 5592 5592 5825 5825 6058 6058 6291 6291 6524 6524 6757 6757 69...
output:
NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO ...
result:
ok 50000 lines
Test #6:
score: 0
Accepted
time: 5657ms
memory: 11824kb
input:
50000 100000 100000 13 26 26 39 39 52 52 65 65 78 78 91 91 104 104 117 117 130 130 143 143 156 156 169 169 182 182 195 195 208 208 221 221 234 234 247 247 260 260 273 273 286 286 299 299 312 312 325 325 338 338 351 351 364 364 377 377 390 390 403 403 416 416 429 429 442 442 455 455 468 468 481 481 4...
output:
NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES YES YES NO NO NO NO NO NO NO NO NO NO NO NO NO ...
result:
ok 50000 lines
Test #7:
score: 0
Accepted
time: 5572ms
memory: 11112kb
input:
50000 100000 100000 4 8 8 12 12 16 16 20 20 24 24 28 28 32 32 36 36 40 40 44 44 48 48 52 52 56 56 60 60 64 64 68 68 72 72 76 76 80 80 84 84 88 88 92 92 96 96 100 100 104 104 108 108 112 112 116 116 120 120 124 124 128 128 132 132 136 136 140 140 144 144 148 148 152 152 156 156 160 160 164 164 168 16...
output:
YES YES NO NO NO NO NO YES YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO YES NO NO NO NO YES YES NO NO YES NO NO NO NO NO YES YES NO YES YES NO NO NO NO NO NO NO NO NO NO NO NO NO YES YES NO NO NO NO YES NO YES YES NO NO YES NO YES YES NO NO YES NO NO YES NO NO NO NO NO N...
result:
ok 50000 lines
Test #8:
score: 0
Accepted
time: 5296ms
memory: 11572kb
input:
50000 100000 100000 2 4 4 6 6 8 8 10 10 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 30 30 32 32 34 34 36 36 38 38 40 40 42 42 44 44 46 46 48 48 50 50 52 52 54 54 56 56 58 58 60 60 62 62 64 64 66 66 68 68 70 70 72 72 74 74 76 76 78 78 80 80 82 82 84 84 86 86 88 88 90 90 92 92 94 94 96 96 98...
output:
NO NO NO NO NO NO YES YES YES YES NO YES YES YES NO NO YES YES NO NO NO NO YES NO YES YES NO YES NO YES YES NO NO YES YES YES NO YES YES NO NO YES YES YES NO NO YES NO YES NO NO NO YES YES YES NO YES NO NO YES YES YES YES YES YES NO NO YES NO NO YES NO YES YES NO NO NO NO YES NO NO NO YES YES NO YES...
result:
ok 50000 lines
Test #9:
score: 0
Accepted
time: 4510ms
memory: 11740kb
input:
50000 100000 100000 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 ...
output:
YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES ...
result:
ok 50000 lines
Test #10:
score: 0
Accepted
time: 4485ms
memory: 11528kb
input:
50000 100000 100000 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 ...
output:
YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES NO YES YES YES YES YES YES YES YES NO NO YES YES YES YES YES NO YES YES YES YES YES YES YES YES NO NO NO YES YES NO YES YES YES YES NO YES YES YES YES YES YES YES YES NO YES YES YES YES YES YE...
result:
ok 50000 lines
Test #11:
score: 0
Accepted
time: 4570ms
memory: 11008kb
input:
50000 100000 100000 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 ...
output:
YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES NO NO YES YES YES YES YES YES YES YES YES YES NO YES YES YES YES YES YES YES YES YES YES YES NO YES YES YES NO YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES Y...
result:
ok 50000 lines
Test #12:
score: 0
Accepted
time: 5018ms
memory: 11352kb
input:
50000 100000 100000 1 2 2 3 3 4 4 5 6 7 7 8 8 9 9 10 10 11 12 13 13 14 14 15 15 16 16 17 18 19 19 20 20 21 21 22 22 23 24 25 25 26 26 27 27 28 28 29 30 31 31 32 32 33 33 34 34 35 36 37 37 38 38 39 39 40 40 41 42 43 43 44 44 45 45 46 46 47 48 49 49 50 50 51 51 52 52 53 54 55 55 56 56 57 57 58 58 59 6...
output:
YES NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO N...
result:
ok 50000 lines
Test #13:
score: 0
Accepted
time: 3238ms
memory: 11060kb
input:
50000 100000 100000 12500 12501 12501 12502 12502 12503 12503 12504 12504 12505 12505 12506 12506 12507 12507 12508 12508 12509 12509 12510 12510 12511 12511 12512 12512 12513 12513 12514 12514 12515 12515 12516 12516 12517 12517 12518 12518 12519 12519 12520 12520 12521 12521 12522 12522 12523 1252...
output:
NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES...
result:
ok 50000 lines
Test #14:
score: 0
Accepted
time: 3224ms
memory: 11232kb
input:
50000 100000 100000 12500 12501 12501 12502 12502 12503 12503 12504 12504 12505 12505 12506 12506 12507 12507 12508 12508 12509 12509 12510 12510 12511 12511 12512 12512 12513 12513 12514 12514 12515 12515 12516 12516 12517 12517 12518 12518 12519 12519 12520 12520 12521 12521 12522 12522 12523 1252...
output:
NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES...
result:
ok 50000 lines
Test #15:
score: 0
Accepted
time: 2994ms
memory: 11972kb
input:
50000 100000 100000 12500 12501 12501 12502 12502 12503 12503 12504 12504 12505 12505 12506 12506 12507 12507 12508 12508 12509 12509 12510 12510 12511 12511 12512 12512 12513 12513 12514 12514 12515 12515 12516 12516 12517 12517 12518 12518 12519 12519 12520 12520 12521 12521 12522 12522 12523 1252...
output:
NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES N...
result:
ok 50000 lines
Test #16:
score: 0
Accepted
time: 3187ms
memory: 11772kb
input:
50000 100000 100000 12500 12501 12501 12502 12502 12503 12503 12504 12504 12505 12505 12506 12506 12507 12507 12508 12508 12509 12509 12510 12510 12511 12511 12512 12512 12513 12513 12514 12514 12515 12515 12516 12516 12517 12517 12518 12518 12519 12519 12520 12520 12521 12521 12522 12522 12523 1252...
output:
NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO N...
result:
ok 50000 lines
Test #17:
score: 0
Accepted
time: 3990ms
memory: 11264kb
input:
50000 100000 100000 24500 24501 24501 24502 24502 24503 24503 24504 24504 24505 24505 24506 24506 24507 24507 24508 24508 24509 24509 24510 24510 24511 24511 24512 24512 24513 24513 24514 24514 24515 24515 24516 24516 24517 24517 24518 24518 24519 24519 24520 24520 24521 24521 24522 24522 24523 2452...
output:
NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES NO YES...
result:
ok 98000 lines
Test #18:
score: 0
Accepted
time: 3897ms
memory: 11764kb
input:
50000 100000 100000 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 ...
output:
YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES ...
result:
ok 100000 lines
Test #19:
score: 0
Accepted
time: 5498ms
memory: 11240kb
input:
50000 100000 100000 2 4 4 6 6 8 8 10 10 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 30 30 32 32 34 34 36 36 38 38 40 40 42 42 44 44 46 46 48 48 50 50 52 52 54 54 56 56 58 58 60 60 62 62 64 64 66 66 68 68 70 70 72 72 74 74 76 76 78 78 80 80 82 82 84 84 86 86 88 88 90 90 92 92 94 94 96 96 98...
output:
NO YES YES YES NO NO YES YES YES NO YES YES NO YES YES NO YES NO NO NO NO NO YES YES NO YES NO YES YES YES NO NO YES NO NO NO YES YES YES YES NO YES NO NO YES YES YES NO NO YES YES YES YES NO YES YES NO NO YES YES NO NO YES NO NO NO YES NO NO NO YES NO NO NO YES NO YES NO NO YES YES NO NO YES NO NO ...
result:
ok 100000 lines
Test #20:
score: 0
Accepted
time: 5623ms
memory: 11876kb
input:
50000 100000 100000 3 6 6 9 9 12 12 15 15 18 18 21 21 24 24 27 27 30 30 33 33 36 36 39 39 42 42 45 45 48 48 51 51 54 54 57 57 60 60 63 63 66 66 69 69 72 72 75 75 78 78 81 81 84 84 87 87 90 90 93 93 96 96 99 99 102 102 105 105 108 108 111 111 114 114 117 117 120 120 123 123 126 126 129 129 132 132 13...
output:
YES NO NO NO YES NO YES NO NO NO YES NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO YES NO NO YES NO YES NO NO NO NO NO NO YES YES NO YES YES NO NO YES NO YES NO YES NO NO NO NO YES NO NO YES NO YES YES YES YES NO NO NO NO YES YES NO NO NO YES NO NO NO YES YES NO NO NO YES NO NO NO NO YES NO NO NO...
result:
ok 100000 lines
Test #21:
score: -100
Wrong Answer
time: 19ms
memory: 10040kb
input:
5000 10000 10000 4103 3044 1509 4745 3287 2269 1227 1146 3580 1636 4103 1040 1747 4633 1572 1188 4212 2110 633 4726 1390 511 3571 20 3491 1138 332 4118 3445 1002 3848 4285 2373 4520 2276 2638 4003 4209 1647 3074 372 374 4317 202 3969 2571 1459 3606 2006 1859 1985 1755 4443 3420 449 3964 539 2829 347...
output:
NO 2 0 62 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO...
result:
wrong answer 2nd lines differ - expected: 'YES', found: '2 0 62'