QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#165131#5410. 树特卡克林Lynkcat#20 148ms3764kbC++202.1kb2023-09-05 16:11:162024-07-04 01:52:31

Judging History

你现在查看的是最新测评结果

  • [2024-07-04 01:52:31]
  • 评测
  • 测评结果:20
  • 用时:148ms
  • 内存:3764kb
  • [2023-09-05 16:11:16]
  • 提交

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%