QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#278669 | #7895. Graph Partitioning 2 | ucup-team956 | ML | 1460ms | 954120kb | C++20 | 1.7kb | 2023-12-07 19:08:47 | 2023-12-07 19:08:47 |
Judging History
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