QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#278669#7895. Graph Partitioning 2ucup-team956ML 1460ms954120kbC++201.7kb2023-12-07 19:08:472023-12-07 19:08:47

Judging History

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

  • [2023-12-07 19:08:47]
  • 评测
  • 测评结果:ML
  • 用时:1460ms
  • 内存:954120kb
  • [2023-12-07 19:08:47]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define time chrono::system_clock::now().time_since_epoch().count()
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/hash_policy.hpp>
using namespace __gnu_pbds;
mt19937_64 rnd(time);
#define maxn 1000005
#define int long long


int read() {int x;cin>>x;return x;}
const int mod = 998244353;

void solve() {
    int n = read(), k = read();
    vector<vector<int>>g(n + 1);
    for(int i = 1; i < n; i++) {
        int aa = read(), bb = read();
        g[aa].push_back(bb);
        g[bb].push_back(aa);
    }
    int ok = 1;
    vector<gp_hash_table<int,int>>f(n + 1);
    // vector f(n + 1, vector(3, 0ll));
    // 0:1    1:k + 1    2:sz
    vector sz(n + 1, 0ll);
    auto dfs = [&](auto dfs, int x, int fa) -> void {
        f[x][1] = 1;
        for(int i : g[x]) {
            if(i == fa) continue;
            dfs(dfs, i, x);
            gp_hash_table<int,int>ff;
            for(auto [key, val] : f[x]) {
                if(val == 0) continue;
                for(auto [k1, v1] : f[i]) {
                    if(v1 == 0) continue;
                    if(k1 + key <= k + 1) {
                        ff[k1 + key] = (ff[k1 + key] + (v1 * val)) % mod;
                    }
                    if(k1 >= k) {
                        ff[key] = (ff[key] + val * v1) % mod;
                    }
                }
            }
            f[x] = ff;
        }
    };

    dfs(dfs, 1, 0);
    cout << (f[1][k] + f[1][k + 1]) % mod << "\n";
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);

    int t = read();
    while(t--) solve();
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3716kb

input:

2
8 2
1 2
3 1
4 6
3 5
2 4
8 5
5 7
4 3
1 2
1 3
2 4

output:

2
1

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 59ms
memory: 4852kb

input:

5550
13 4
10 3
9 1
10 8
3 11
8 5
10 7
9 6
13 5
9 7
2 7
5 12
4 8
8 2
4 1
3 4
7 8
2 5
6 7
4 8
2 3
11 1
11 10
1 4
9 10
8 4
3 6
5 7
6 1
10 2
11 7
11 1
17 2
14 16
13 15
17 3
15 11
1 6
13 2
13 17
4 8
14 10
8 14
14 5
9 12
14 2
12 17
17 6
15 7
14 6
2 14
2 13
2 4
8 4
3 11
7 3
14 1
11 9
13 3
5 10
6 8
3 10
14 ...

output:

0
3
112
0
1
0
1
0
0
0
1
0
1
0
0
1
0
140
0
0
0
814
1
6
1
1
2
2
0
612
0
1
0
0
0
1
1
0
0
121
4536
0
0
1718
0
0
1
0
444
1
1908
1813
3
74
0
1
0
46
0
0
0
0
0
0
0
0
0
1
0
1
1
1
239
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
48
0
2
0
0
0
1
364
0
206
0
0
76
0
1
0
0
2
0
1
2
0
0
1
0
0
4
0
1
1
0
0
1
1
1
0
0
1
1
...

result:

ok 5550 lines

Test #3:

score: 0
Accepted
time: 189ms
memory: 41816kb

input:

3
99990 259
23374 69108
82204 51691
8142 67119
48537 97966
51333 44408
33147 68485
21698 86824
15746 58746
78761 86975
58449 61819
69001 68714
25787 2257
25378 14067
64899 68906
29853 31359
75920 85420
76072 11728
63836 55505
43671 98920
77281 25176
40936 66517
61029 61440
66908 52300
92101 59742
69...

output:

259200
247
207766300

result:

ok 3 lines

Test #4:

score: 0
Accepted
time: 164ms
memory: 41104kb

input:

3
99822 332
11587 83046
63424 60675
63423 73718
74622 40130
5110 26562
28361 80899
30886 70318
8708 11068
34855 96504
7904 75735
31904 42745
87892 55105
82374 81319
77407 82147
91475 12343
13470 95329
58766 95716
83232 44156
75907 92437
69785 93598
47857 33018
62668 31394
24238 72675
98254 43583
180...

output:

315881300
4505040
185631154

result:

ok 3 lines

Test #5:

score: 0
Accepted
time: 176ms
memory: 41032kb

input:

3
99021 1000
41739 4318
72541 76341
31227 15416
49232 13808
50837 51259
74464 11157
92684 84646
95226 64673
74155 82511
33301 31373
5901 29318
38227 98893
96752 57411
35167 42401
24344 90803
6956 33753
51120 24535
29594 2646
70305 32961
93079 38070
49273 48987
62799 77986
94353 84447
74970 31546
263...

output:

917568
1
1213

result:

ok 3 lines

Test #6:

score: 0
Accepted
time: 159ms
memory: 40640kb

input:

3
100000 10000
15556 26349
14984 68012
43040 63434
32168 60646
70509 38559
26238 29031
45952 19431
29510 54395
5676 59515
28220 41438
46902 56640
8221 80059
77225 66558
17473 87324
20819 35098
29515 12641
84108 41157
11223 66562
25999 95852
3790 63605
20963 15799
217 58841
61619 13324
3406 60525
693...

output:

1
1
1

result:

ok 3 lines

Test #7:

score: 0
Accepted
time: 1460ms
memory: 954120kb

input:

3
99969 79
84806 29026
76190 49303
81448 88606
47775 83229
7424 30063
75504 59640
28456 18012
26623 18383
66305 32640
55981 65140
25760 523
76248 13482
25598 55231
96844 17032
44892 64592
4915 50521
49879 86466
99286 20894
97915 76337
38424 2546
17489 46475
91791 2636
79283 35209
14773 60224
94096 5...

output:

855988479
413863362
390147247

result:

ok 3 lines

Test #8:

score: 0
Accepted
time: 1348ms
memory: 666648kb

input:

3
99655 347
11149 99084
14300 87239
74978 75669
48703 12705
62600 62372
85743 67544
11248 36566
31920 23357
91970 67460
47599 56467
67521 16526
50284 63800
6701 3456
15660 81507
43192 5734
57965 67731
42676 26195
60309 19848
30504 47635
66455 98017
1645 70119
47861 95592
32453 39251
31178 59516
2144...

output:

500906609
4366296
91620762

result:

ok 3 lines

Test #9:

score: 0
Accepted
time: 492ms
memory: 236388kb

input:

3
99074 1000
10018 10926
93276 10882
57018 36456
36298 20551
34971 14671
82296 41279
49459 20897
56874 98633
57849 24888
15425 8116
62887 30467
61380 38308
70548 49238
49287 13456
83286 31072
93096 52396
17509 64864
75106 13508
26188 61092
74762 46749
78773 89071
57494 24130
29618 24192
21061 11372
...

output:

895874645
85900584
237336

result:

ok 3 lines

Test #10:

score: 0
Accepted
time: 226ms
memory: 85380kb

input:

3
90006 10000
73490 30293
71611 45400
5985 73192
89192 86831
26722 13580
73 42029
64900 69699
1501 9326
5417 72489
81756 62830
19449 20243
85297 63347
30952 20243
69122 148
42880 88227
69343 66867
72919 75705
53663 32672
65715 35962
19421 5905
13102 4284
40894 88911
87558 21940
82573 82415
83203 131...

output:

84
3
1

result:

ok 3 lines

Test #11:

score: 0
Accepted
time: 924ms
memory: 573180kb

input:

3
99923 88
78033 17440
86489 72898
41036 84474
8561 18775
31676 62859
379 69955
66435 12651
7678 88259
64810 65776
30805 95902
81241 9085
22021 14554
26753 64229
59137 92000
90432 10825
80094 9597
7911 60599
66954 99719
81996 99136
42256 88131
73137 65163
97771 99132
66272 25651
80912 42272
94725 75...

output:

578738252
635410385
616515379

result:

ok 3 lines

Test #12:

score: 0
Accepted
time: 1151ms
memory: 567652kb

input:

3
99773 362
16637 83914
63631 58741
27359 60161
8952 80795
52395 54853
26443 41008
37319 45707
47426 17039
26219 59547
19137 49086
14972 25115
76069 24037
26972 72363
92135 98301
86774 59913
54636 40038
88922 39806
62589 40377
94667 83663
23634 79618
24932 51069
15632 14476
73182 42535
98053 50141
2...

output:

718699462
887216138
726376429

result:

ok 3 lines

Test #13:

score: 0
Accepted
time: 430ms
memory: 175612kb

input:

3
99092 1000
49588 46079
55304 73177
18967 13059
52465 87314
78600 97324
69426 93208
93660 32936
1196 14888
79251 2603
82306 14847
7113 64862
2219 96349
68128 70861
42412 26436
3256 55313
13458 61469
6266 41279
75057 19685
88624 5001
3437 60451
32605 41073
72888 60159
26888 14135
18572 17170
11099 4...

output:

495088901
243801881
33

result:

ok 3 lines

Test #14:

score: 0
Accepted
time: 211ms
memory: 72296kb

input:

3
90000 10000
87964 18251
12687 18104
78011 37556
4983 29905
11284 20403
34250 81402
89508 6978
62519 18650
87412 74628
86526 88800
36368 38274
60311 25701
31660 13827
19031 84677
12557 49159
78925 43858
11560 86110
26994 87734
858 46385
85867 29897
62594 20009
50471 87109
77717 8190
71331 44932
570...

output:

1
1
1

result:

ok 3 lines

Test #15:

score: 0
Accepted
time: 561ms
memory: 430180kb

input:

3
99819 218
15128 87625
26894 97807
74349 83371
14774 10443
13261 31540
78090 53944
58055 19995
63820 64481
269 89813
80310 31087
98842 24345
32620 10612
58004 41547
86990 99489
8873 50122
9750 9895
16330 58033
72917 46097
90881 12042
98057 49196
17548 87122
66574 96602
36023 19215
19515 43934
14875...

output:

880185860
949287013
157116569

result:

ok 3 lines

Test #16:

score: 0
Accepted
time: 624ms
memory: 569204kb

input:

3
99675 377
85617 1008
16957 5302
29036 43568
26644 73742
95538 87850
36434 95180
75521 95557
61327 7435
14918 15313
56136 58622
64335 13941
50507 27180
78582 32465
6420 87514
90207 73441
42230 45679
5442 18048
58968 83147
65534 19505
60549 90524
55605 21274
93589 24952
73182 3136
27000 73554
2566 8...

output:

789159485
532394394
26715

result:

ok 3 lines

Test #17:

score: 0
Accepted
time: 365ms
memory: 174556kb

input:

3
99044 1000
76852 50370
30397 85586
92739 11074
76934 75240
37614 64349
77982 12307
73391 93804
83432 22135
73239 9997
10638 54120
4067 97619
83197 70602
96104 2925
10203 7199
78302 40626
31063 42976
78481 25765
19133 81706
21489 82284
37017 30262
71614 56388
30698 37348
57013 68118
17186 50664
655...

output:

96984968
57966928
37401

result:

ok 3 lines

Test #18:

score: 0
Accepted
time: 185ms
memory: 79408kb

input:

3
90007 10000
34002 29711
67960 67913
37266 81420
31618 89748
31937 80647
15048 29012
39472 5346
66976 79828
13310 82211
27879 13150
80096 22971
42896 29977
31648 66746
58037 28226
81556 35007
50862 86637
47666 17507
72347 72849
36790 16145
41695 66392
9514 77718
37806 29200
61221 81716
26864 27272
...

output:

13
1
1

result:

ok 3 lines

Test #19:

score: 0
Accepted
time: 151ms
memory: 41284kb

input:

3
99999 1
15526 5816
15526 91340
85090 15526
1815 15526
15526 60171
60385 15526
69663 15526
15526 41953
53736 15526
89414 15526
15526 94460
21625 15526
15526 8540
15526 67534
15526 4622
15526 7978
15526 28610
42253 15526
15526 26283
2628 15526
15526 5188
15526 6704
15526 69277
15526 51976
15526 7295...

output:

99999
0
0

result:

ok 3 lines

Test #20:

score: 0
Accepted
time: 158ms
memory: 42396kb

input:

3
100000 429
1 57398
57398 57200
76340 1
76340 59785
76340 84657
1 26989
88056 26989
26989 4041
26989 36411
1 61120
61120 73590
52743 61120
61120 72023
19959 61120
44366 1
9930 44366
41401 44366
51704 44366
21854 44366
1 12768
12768 2694
12768 40037
12768 31800
12768 46496
1 31963
85737 31963
31963 ...

output:

0
0
0

result:

ok 3 lines

Test #21:

score: 0
Accepted
time: 112ms
memory: 23160kb

input:

6
50000 267
1 34009
1 16272
16272 47288
1 35559
35559 15885
1 6564
27858 6564
22579 6564
1 44936
17220 44936
26160 44936
1 32316
35365 32316
37958 32316
20510 1
27878 20510
9368 20510
33467 20510
26290 1
48832 26290
24415 26290
2851 26290
1 12040
21167 12040
36738 12040
12040 7284
1 12936
12936 2982...

output:

0
0
0
0
0
0

result:

ok 6 lines

Test #22:

score: 0
Accepted
time: 108ms
memory: 13236kb

input:

12
25000 258
13484 1
1 16801
16801 7731
1 13880
13880 79
13880 6939
5802 13880
11343 1
21799 11343
6193 11343
8976 11343
11343 15462
9279 1
22367 9279
1419 9279
1412 9279
23782 9279
1 6728
6728 18671
6728 20942
6728 16877
16191 6728
6728 20618
3948 1
3948 16740
3948 24198
3948 85
3948 4865
3948 1288...

output:

0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 12 lines

Test #23:

score: 0
Accepted
time: 83ms
memory: 4036kb

input:

300
1000 57
801 1
1 903
29 903
1 685
685 895
685 714
1 273
666 273
930 273
273 498
677 1
677 524
618 677
677 582
677 771
1 327
330 327
327 518
844 327
259 327
364 1
422 364
43 364
364 349
364 366
373 364
1 614
614 836
718 614
459 614
657 614
335 614
614 610
614 272
523 1
118 523
523 235
523 58
523 3...

output:

0
0
0
0
0
0
0
0
0
0
0
793178976
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21617700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
764435931
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0...

result:

ok 300 lines

Test #24:

score: 0
Accepted
time: 87ms
memory: 4820kb

input:

100
3000 26
1 2424
1159 1
1159 2103
1159 1329
1604 1159
1159 582
160 1159
1 1484
1484 1828
1484 1911
1484 1072
1484 1457
1484 938
2036 1484
1484 2442
1484 2530
1 2471
2471 703
1464 2471
2471 1778
2471 1395
2197 2471
2471 2543
2574 2471
36 2471
1 1639
1639 1356
223 1639
281 1639
1639 817
967 1639
163...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

result:

ok 100 lines

Test #25:

score: 0
Accepted
time: 180ms
memory: 41516kb

input:

3
100000 141
80173 6
63209 8
22027 13
97646 17
63571 19
92352 21
87994 23
20254 24
83136 28
47623 29
69328 31
91043 32
82790 34
43140 36
60529 39
49512 41
2937 42
13921 44
8802 47
42519 48
20562 49
30829 51
21329 53
40257 58
85583 59
48601 60
75786 61
60091 62
67600 65
57659 67
6371 68
53851 73
7094...

output:

0
0
0

result:

ok 3 lines

Test #26:

score: 0
Accepted
time: 75ms
memory: 41620kb

input:

3
100000 56
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1...

output:

0
0
0

result:

ok 3 lines

Test #27:

score: -100
Memory Limit Exceeded

input:

3
100000 71
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 51
51 52...

output:

228906068
585530579
426277711

result: