QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#165131 | #5410. 树特卡克林 | Lynkcat# | 20 | 148ms | 3764kb | C++20 | 2.1kb | 2023-09-05 16:11:16 | 2024-07-04 01:52:31 |
Judging History
answer
#include<bits/stdc++.h>
#define poly vector<int>
#define IOS ios::sync_with_stdio(false)
#define ll long long
#define mp make_pair
#define mt make_tuple
#define pa pair < int,int >
#define fi first
#define se second
#define inf 1e18
#define mod 998244353
#define sz(x) ((int)((x).size()))
#define int ll
#define N 5005
using namespace std;
int n,m;
int ffa[N],rt[N];
poly G[N];
int s[N],siz[N],son[N];
poly all;
int mx[N];
void dfs(int k,int fa)
{
ffa[k]=fa;
rt[k]=rt[fa];
for (auto u:G[k])
{
if (u==fa) continue;
dfs(u,k);
}
}
void makert(int k)
{
rt[k]=k;
dfs(k,k);
}
void gt(int k,int fa)
{
s[k]=k;
siz[k]=1;son[k]=0;
mx[k]=k;
for (auto u:G[k])
{
if (u==fa) continue;
// cout<<k<<"->"<<u<<endl;
gt(u,k);
siz[k]+=siz[u];
if (siz[u]>siz[son[k]]||siz[u]==siz[son[k]]&&mx[u]>mx[son[k]]) son[k]=u;
}
mx[k]=max(mx[k],mx[son[k]]);
for (auto u:G[k])
{
if (u==fa) continue;
if (u!=son[k]) all.push_back(s[u]);
else s[k]^=s[u];
}
}
void BF()
{
for (int i=1;i<=n;i++) rt[i]=i;
for (int i=1;i<=m;i++)
{
int op;
cin>>op;
if (op==1)
{
int x,y;
cin>>x>>y;
G[y].push_back(x);
G[x].push_back(y);
makert(rt[x]);
}
else
{
int x,y;
cin>>x>>y;
if (ffa[x]==y) swap(x,y);
G[x].erase(find(G[x].begin(),G[x].end(),y));
G[y].erase(find(G[y].begin(),G[y].end(),x));
makert(y);
}
int k;
cin>>k;
for (int j=1;j<=n;j++)
if (rt[j]==j) gt(j,j),all.push_back(s[j]);
sort(all.begin(),all.end());
cout<<all[(k-1)%all.size()]<<'\n';
poly().swap(all);
}
}
void BF1()
{
}
void BellaKira()
{
cin>>n>>m;
if (n<=1000&&m<=5000) BF();
else BF1();
}
signed main()
{
IOS;
cin.tie(0);
int T=1;
while (T--)
{
BellaKira();
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 5
Accepted
Test #1:
score: 5
Accepted
time: 0ms
memory: 3696kb
input:
10 50 1 4 5 8 1 2 10 6 1 7 10 1 1 2 5 7 1 1 5 1 1 8 3 1 1 5 3 3 1 1 9 3 0 10 2 8 1 10 1 6 0 1 10 1 0 4 5 9 1 8 4 9 0 3 5 3 0 10 7 6 1 1 4 1 0 4 8 3 1 5 6 2 1 10 7 1 1 2 7 1 0 2 7 8 0 4 1 10 1 7 2 6 1 2 4 2 1 2 3 4 0 5 6 7 1 8 6 1 0 2 7 7 1 10 3 1 0 3 8 5 0 2 4 7 1 4 10 9 0 1 9 8 0 2 3 1 1 10 8 4 1 1...
output:
9 8 1 1 3 4 9 9 4 9 2 6 11 9 15 6 6 2 2 4 2 9 4 6 10 6 4 13 1 4 1 14 14 3 7 4 7 3 9 8 4 7 8 4 3 3 7 7 5 2
result:
ok 50 numbers
Subtask #2:
score: 5
Accepted
Dependency #1:
100%
Accepted
Test #2:
score: 5
Accepted
time: 2ms
memory: 3708kb
input:
100 500 1 38 34 84 1 71 2 8 1 22 1 89 1 70 2 7 1 100 15 69 1 97 86 77 1 84 39 47 1 21 43 73 1 100 1 64 1 69 99 42 1 19 8 25 1 29 70 91 1 38 1 45 1 92 63 5 1 54 83 94 1 5 12 41 1 73 91 90 1 100 32 10 1 43 38 2 1 73 96 65 1 67 94 26 1 21 31 65 1 22 37 42 1 85 37 12 1 3 46 84 1 69 88 28 1 92 82 87 1 54...
output:
85 8 92 7 74 81 51 79 68 47 28 4 52 7 10 49 9 14 4 77 30 77 50 16 9 36 13 14 30 13 4 10 52 7 34 41 63 60 29 14 62 78 74 40 42 27 51 24 6 24 66 33 27 40 48 76 24 13 14 112 40 33 44 41 47 68 80 33 49 112 76 99 45 65 90 22 51 30 33 59 65 22 50 22 50 63 67 51 58 50 45 3 75 41 74 64 1 7 51 10 42 22 76 49...
result:
ok 500 numbers
Subtask #3:
score: 10
Accepted
Dependency #2:
100%
Accepted
Test #3:
score: 10
Accepted
time: 148ms
memory: 3764kb
input:
1000 5000 1 481 556 393 1 197 951 694 1 844 89 877 1 996 276 422 1 936 284 893 1 606 205 37 1 908 355 156 1 580 338 612 1 889 574 90 1 835 998 105 1 795 673 814 1 286 226 514 1 393 557 950 1 548 913 346 1 714 779 585 1 509 140 1000 1 85 564 274 1 576 820 932 1 246 536 8 1 361 356 299 1 430 364 650 1...
output:
393 697 881 425 896 37 157 623 91 106 819 520 962 352 595 16 280 948 8 307 666 567 563 103 151 5 384 680 260 88 449 313 932 965 62 722 663 823 798 704 527 409 926 463 611 290 99 675 749 6 486 721 550 42 268 994 125 243 158 524 586 934 947 716 108 478 300 759 931 754 992 263 261 784 13 631 229 724 14...
result:
ok 5000 numbers
Subtask #4:
score: 0
Wrong Answer
Test #4:
score: 0
Wrong Answer
time: 0ms
memory: 3652kb
input:
100000 99999 1 1 2 44734 1 2 3 61340 1 1 4 68331 1 2 5 86313 1 4 6 26991 1 4 7 72397 1 3 8 24098 1 5 9 31437 1 5 10 82367 1 5 11 20958 1 11 12 38919 1 12 13 87596 1 2 14 41335 1 1 15 78828 1 14 16 73861 1 9 17 81368 1 1 18 40205 1 9 19 60737 1 4 20 9347 1 5 21 84645 1 18 22 20063 1 15 23 98769 1 15 ...
output:
result:
wrong answer Answer contains longer sequence [length = 99999], but output contains 0 elements
Subtask #5:
score: 0
Wrong Answer
Test #5:
score: 0
Wrong Answer
time: 1ms
memory: 3600kb
input:
100000 99999 1 2 1 30000 1 3 2 76304 1 4 1 35053 1 5 4 38046 1 6 4 43843 1 7 1 64206 1 8 6 52957 1 9 3 42768 1 10 8 6520 1 11 5 43975 1 12 1 64810 1 13 12 64219 1 14 10 78432 1 15 4 62142 1 16 15 235 1 17 3 77806 1 18 17 58130 1 19 5 47941 1 20 14 19568 1 21 7 99780 1 22 17 39362 1 23 4 10525 1 24 1...
output:
result:
wrong answer Answer contains longer sequence [length = 99999], but output contains 0 elements
Subtask #6:
score: 0
Wrong Answer
Dependency #3:
100%
Accepted
Test #6:
score: 0
Wrong Answer
time: 1ms
memory: 3672kb
input:
100000 500000 1 80697 84881 19262 1 95888 80521 10177 1 94305 51186 64430 1 98326 42972 48338 1 12913 26290 94592 1 72437 16368 33161 1 90564 19898 47803 1 72637 75741 79240 1 36415 11660 46397 1 96674 79314 69371 1 5150 54843 2612 1 33519 46498 64905 1 83708 94254 81506 1 51872 64932 91946 1 63852 ...
output:
result:
wrong answer Answer contains longer sequence [length = 500000], but output contains 0 elements
Subtask #7:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #4:
0%