QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#769400 | #5089. 环覆盖 | NineSuns | 20 | 753ms | 69004kb | C++14 | 1.4kb | 2024-11-21 17:28:58 | 2024-11-21 17:29:02 |
Judging History
answer
#include <bits/stdc++.h>
#include <bits/extc++.h>
#define ll long long
#define pii pair <int, int>
#define fi first
#define se second
#define pb push_back
using namespace std;
using namespace __gnu_pbds;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
const int N = 505, mod = 1e9+7;
int n, m, d[N], v[N];
vector <int> e[N];
gp_hash_table <int, int> fl[N], fr[N], g[N];
void solve () {
cin >> n >> m;
for (int i = 1;i <= m;i++) {
int x, y; cin >> x >> y;
x--; y--;
v[i] = (1<<x)|(1<<y);
}
sort(v+1, v+1+m);
int mid = m/2;
fl[0][0] = 1;
for (int i = 1;i <= mid;i++) {
for (int j = 0;j <= m;j++) g[j] = fl[j];
for (int j = 0;j <= m;j++) {
for (auto z : fl[j]) (g[j+1][z.fi^v[i]] += z.se) %= mod;//, cout << "CHECK:" << z.fi << " " << z.se << endl;
}
for (int j = 0;j <= m;j++) swap(fl[j], g[j]);
}
fr[0][0] = 1;
for (int i = m;i > mid;i--) {
for (int j = 0;j <= m;j++) g[j] = fr[j];
for (int j = 0;j <= m;j++) {
for (auto z : fr[j]) (g[j+1][z.fi^v[i]] += z.se) %= mod;
}
for (int j = 0;j <= m;j++) swap(fr[j], g[j]);
}
for (int i = 0;i <= m;i++) {
ll ans = 0;
for (int j = 0;j <= i;j++) for (auto z : fl[j]) if (fr[i-j].find(z.fi) != fr[i-j].end()) (ans += 1ll*z.se*fr[i-j][z.fi]) %= mod;
cout << ans << " ";
}
}
signed main () {
int T = 1;
while (T--) solve();
return 0;
}
详细
Subtask #1:
score: 5
Accepted
Test #1:
score: 5
Accepted
time: 1ms
memory: 4020kb
input:
10 9 3 5 3 10 4 7 4 8 5 6 5 9 6 9 7 9 9 10
output:
1 0 0 1 1 1 0 0 0 0
result:
ok 10 numbers
Test #2:
score: 5
Accepted
time: 1ms
memory: 4032kb
input:
8 15 1 4 1 5 1 8 2 4 2 6 3 6 4 5 4 6 4 7 5 6 5 7 5 8 6 7 6 8 7 8
output:
1 0 0 10 18 26 46 54 43 30 18 8 2 0 0 0
result:
ok 16 numbers
Test #3:
score: 5
Accepted
time: 1ms
memory: 4268kb
input:
19 19 1 12 1 16 1 18 2 8 2 17 3 11 3 17 4 9 4 19 5 17 7 13 8 17 9 13 9 15 9 17 10 16 10 18 14 17 15 16
output:
1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
result:
ok 20 numbers
Test #4:
score: 5
Accepted
time: 1ms
memory: 4140kb
input:
7 14 1 3 1 4 1 7 2 3 2 5 2 6 2 7 3 4 3 5 3 7 4 7 5 6 5 7 6 7
output:
1 0 0 11 16 18 46 64 47 30 18 5 0 0 0
result:
ok 15 numbers
Test #5:
score: 5
Accepted
time: 1ms
memory: 4204kb
input:
10 9 1 9 2 6 3 5 3 8 3 10 4 6 4 8 5 6 7 10
output:
1 0 0 0 0 1 0 0 0 0
result:
ok 10 numbers
Test #6:
score: 5
Accepted
time: 1ms
memory: 4216kb
input:
15 14 2 9 2 10 3 5 3 10 3 12 3 14 4 6 5 10 5 15 6 9 6 15 7 11 7 13 9 15
output:
1 0 0 2 0 1 3 1 0 0 0 0 0 0 0
result:
ok 15 numbers
Test #7:
score: 5
Accepted
time: 1ms
memory: 4192kb
input:
9 8 1 3 2 4 2 7 3 5 3 9 4 6 7 9 8 9
output:
1 0 0 0 0 0 0 0 0
result:
ok 9 numbers
Test #8:
score: 5
Accepted
time: 1ms
memory: 4004kb
input:
19 18 1 5 1 9 1 15 2 4 2 11 2 15 3 6 3 8 3 17 4 19 5 12 6 13 6 15 8 10 8 15 9 19 12 17 13 16
output:
1 0 0 0 1 0 1 2 0 0 1 2 0 0 0 0 0 0 0
result:
ok 19 numbers
Test #9:
score: 5
Accepted
time: 1ms
memory: 3924kb
input:
7 18 1 2 1 3 1 4 1 6 1 7 2 3 2 5 2 6 2 7 3 4 3 5 3 7 4 5 4 6 4 7 5 6 5 7 6 7
output:
1 0 0 20 51 108 278 528 711 760 660 468 293 156 54 8 0 0 0
result:
ok 19 numbers
Test #10:
score: 5
Accepted
time: 0ms
memory: 3968kb
input:
10 15 1 6 2 4 2 6 2 9 2 10 3 5 3 8 3 9 3 10 4 5 4 8 5 8 5 10 7 9 8 9
output:
1 0 0 4 6 12 16 12 9 4 0 0 0 0 0 0
result:
ok 16 numbers
Subtask #2:
score: 15
Accepted
Dependency #1:
100%
Accepted
Test #11:
score: 15
Accepted
time: 1ms
memory: 4108kb
input:
10 22 1 2 1 3 1 4 1 6 1 8 1 9 2 3 2 4 2 5 2 7 2 8 2 10 3 8 3 10 4 7 4 8 5 7 5 10 6 10 7 9 8 10 9 10
output:
1 0 0 13 33 64 162 367 621 906 1216 1343 1215 988 682 353 146 58 20 4 0 0 0
result:
ok 23 numbers
Test #12:
score: 15
Accepted
time: 5ms
memory: 5028kb
input:
11 38 1 2 1 3 1 4 1 6 1 7 1 8 1 10 2 5 2 8 2 9 2 10 2 11 3 5 3 6 3 7 3 9 3 10 3 11 4 5 4 7 4 11 5 6 5 7 5 9 5 10 5 11 6 7 6 8 6 9 6 10 6 11 7 8 7 9 7 10 8 9 8 11 9 11 10 11
output:
1 0 0 50 210 800 3661 14805 51947 164232 466335 1177265 2639525 5274024 9420013 15077609 21687685 28100640 32827271 34579721 32851761 28140784 21708463 15062239 9394113 5261128 2639589 1183171 472151 166600 51607 13987 3278 656 117 17 1 0 0
result:
ok 39 numbers
Test #13:
score: 15
Accepted
time: 1ms
memory: 4076kb
input:
11 24 1 3 1 4 1 7 1 8 2 6 2 7 2 8 3 4 3 5 3 6 3 8 3 10 4 7 4 9 5 7 5 9 5 11 6 8 6 10 6 11 7 10 7 11 8 9 8 10
output:
1 0 0 9 26 65 147 343 709 1179 1783 2437 2715 2489 1993 1341 702 297 109 30 7 2 0 0 0
result:
ok 25 numbers
Test #14:
score: 15
Accepted
time: 4ms
memory: 4796kb
input:
11 37 1 2 1 4 1 5 1 6 1 7 1 10 2 3 2 4 2 6 2 7 2 8 2 9 2 10 3 5 3 6 3 8 3 10 3 11 4 5 4 6 4 9 4 10 4 11 5 7 5 9 6 7 6 8 6 10 6 11 7 9 7 10 7 11 8 9 8 10 8 11 9 10 10 11
output:
1 0 0 46 189 675 2952 11644 39587 121171 335150 825420 1798517 3475223 5977332 9174036 12597741 15530759 17234898 17229504 15512559 12574521 9163776 5982788 3484905 1805833 829874 336708 120415 37965 10436 2476 518 93 14 2 0 0
result:
ok 38 numbers
Test #15:
score: 15
Accepted
time: 3ms
memory: 4348kb
input:
19 24 1 9 1 10 1 17 1 19 2 3 3 6 4 8 4 10 4 13 4 14 5 7 7 11 8 13 8 17 9 12 9 16 10 19 11 15 11 17 12 16 13 15 14 15 14 17 14 19
output:
1 0 0 3 5 8 14 25 31 36 40 33 27 20 10 3 0 0 0 0 0 0 0 0 0
result:
ok 25 numbers
Test #16:
score: 15
Accepted
time: 1ms
memory: 4072kb
input:
9 30 1 3 1 4 1 5 1 6 1 7 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 4 3 5 3 6 3 7 3 8 4 5 4 6 4 8 4 9 5 6 5 7 5 8 5 9 6 7 6 8 6 9 7 9 8 9
output:
1 0 0 48 175 568 2365 8050 22348 54852 117479 214858 338872 467840 567602 604996 567273 467832 338270 213748 117607 55912 22753 7882 2298 548 107 18 2 0 0
result:
ok 31 numbers
Test #17:
score: 15
Accepted
time: 3ms
memory: 4296kb
input:
18 24 1 2 1 7 1 13 1 15 1 17 2 3 2 17 3 9 4 6 4 7 5 8 5 15 5 16 6 7 6 14 7 14 8 11 8 16 10 16 11 12 11 18 14 16 14 17 15 16
output:
1 0 0 5 3 4 14 15 16 21 21 16 8 3 1 0 0 0 0 0 0 0 0 0 0
result:
ok 25 numbers
Test #18:
score: 15
Accepted
time: 0ms
memory: 4732kb
input:
13 27 1 2 1 5 1 7 1 10 1 11 1 12 2 3 2 4 2 12 3 4 3 11 3 12 4 5 4 7 4 12 4 13 5 9 5 10 5 11 7 8 7 9 7 11 7 12 8 11 9 13 10 12 11 13
output:
1 0 0 12 37 85 229 607 1265 2371 4146 6130 7924 9384 9660 8504 6605 4404 2430 1122 423 139 47 9 1 1 0 0
result:
ok 28 numbers
Test #19:
score: 15
Accepted
time: 0ms
memory: 3932kb
input:
7 21 1 2 1 3 1 4 1 5 1 6 1 7 2 3 2 4 2 5 2 6 2 7 3 4 3 5 3 6 3 7 4 5 4 6 4 7 5 6 5 7 6 7
output:
1 0 0 35 105 252 805 1935 3255 4515 5481 5481 4515 3255 1935 805 252 105 35 0 0 1
result:
ok 22 numbers
Test #20:
score: 15
Accepted
time: 39ms
memory: 5316kb
input:
18 32 1 4 1 7 1 12 1 16 1 17 1 18 2 3 2 4 2 6 2 8 2 9 2 10 2 17 2 18 3 9 3 15 3 18 4 11 4 12 4 15 4 16 5 17 6 10 6 15 6 17 7 8 9 16 9 18 10 11 11 12 11 16 14 17
output:
1 0 0 10 18 41 122 291 623 1198 2148 3576 5244 6798 8004 8546 8223 7176 5608 3798 2226 1153 498 163 49 18 4 0 0 0 0 0 0
result:
ok 33 numbers
Test #21:
score: 15
Accepted
time: 2ms
memory: 4148kb
input:
17 21 1 5 1 9 1 12 2 3 2 9 2 11 2 12 2 13 2 15 3 13 4 5 4 9 4 11 4 13 5 8 5 15 7 8 7 9 8 10 8 15 12 13
output:
1 0 0 3 6 15 21 32 55 75 87 75 56 45 27 10 2 1 1 0 0 0
result:
ok 22 numbers
Test #22:
score: 15
Accepted
time: 4ms
memory: 4304kb
input:
18 25 1 5 1 6 1 7 1 18 3 4 3 9 3 18 4 9 4 15 5 8 5 10 5 13 5 16 5 17 6 14 6 16 7 8 8 9 9 10 9 14 10 12 10 15 11 12 13 18 16 17
output:
1 0 0 2 5 2 17 21 25 49 57 68 59 68 67 37 22 9 3 0 0 0 0 0 0 0
result:
ok 26 numbers
Test #23:
score: 15
Accepted
time: 2ms
memory: 4116kb
input:
11 31 1 2 1 6 1 7 1 8 1 10 1 11 2 3 2 4 2 7 2 8 3 5 3 6 3 10 3 11 4 5 4 6 4 7 4 8 4 10 5 6 5 8 5 9 5 10 6 10 6 11 7 8 7 10 7 11 8 9 8 11 9 10
output:
1 0 0 25 80 252 931 2947 8105 19882 43247 82492 137162 199904 257302 292622 293531 259948 203238 139705 83764 43252 18951 6991 2155 538 107 18 2 0 0 0
result:
ok 32 numbers
Test #24:
score: 15
Accepted
time: 1ms
memory: 4332kb
input:
11 23 1 3 1 6 1 7 1 8 1 10 1 11 2 4 2 7 2 9 2 10 3 4 3 6 3 8 3 9 3 11 4 5 4 6 4 9 5 8 5 10 6 11 8 9 9 11
output:
1 0 0 10 22 49 126 253 455 770 1080 1267 1327 1146 774 475 272 114 36 11 3 1 0 0
result:
ok 24 numbers
Test #25:
score: 15
Accepted
time: 2ms
memory: 4388kb
input:
12 26 1 2 1 4 1 5 1 6 1 8 1 9 1 11 1 12 2 3 2 6 2 8 2 10 2 12 3 10 3 11 3 12 4 6 4 7 4 9 5 9 5 10 6 7 6 8 6 11 7 10 8 9
output:
1 0 0 13 25 58 172 367 751 1471 2425 3509 4595 5207 4957 3973 2676 1501 699 266 80 19 3 0 0 0 0
result:
ok 27 numbers
Test #26:
score: 15
Accepted
time: 20ms
memory: 7208kb
input:
15 36 1 3 1 6 2 5 2 11 2 14 2 15 3 6 3 7 3 9 3 11 3 12 3 13 4 10 4 11 4 14 5 6 5 9 5 10 5 11 5 12 5 15 6 13 6 14 7 8 7 12 7 13 7 15 8 9 8 13 8 14 10 14 11 13 12 13 12 14 12 15 13 14
output:
1 0 0 16 47 142 453 1358 3739 9187 20868 43655 82997 144331 229041 329775 431023 509806 542672 519878 448465 346692 239031 146924 80469 38975 16428 5939 1835 467 83 7 0 0 0 0 0
result:
ok 37 numbers
Test #27:
score: 15
Accepted
time: 23ms
memory: 13652kb
input:
17 40 1 3 1 5 1 6 1 8 2 3 2 7 2 8 2 9 2 17 3 5 3 7 3 8 3 9 3 11 4 5 4 7 4 10 4 12 5 6 5 8 5 15 6 12 6 13 6 15 6 17 7 15 8 11 8 14 8 16 9 12 9 13 9 14 9 16 10 11 10 16 11 12 11 16 11 17 12 14 12 17
output:
1 0 0 15 35 114 403 1162 3281 8752 21580 49554 105445 207380 375007 621544 945721 1318606 1677800 1947770 2063989 1989450 1738049 1375770 984863 634460 367508 191810 89635 37264 13901 4628 1334 326 56 3 0 0 0 0 0
result:
ok 41 numbers
Test #28:
score: 15
Accepted
time: 2ms
memory: 4104kb
input:
19 22 1 8 1 17 2 7 2 13 3 6 3 8 3 9 3 17 4 8 5 10 5 12 5 17 6 9 7 10 8 11 9 11 9 13 10 16 11 12 11 15 12 17 15 19
output:
1 0 0 2 2 4 6 6 7 7 7 7 5 5 3 1 1 0 0 0 0 0 0
result:
ok 23 numbers
Test #29:
score: 15
Accepted
time: 36ms
memory: 13748kb
input:
18 37 1 3 1 12 2 14 3 4 3 8 3 11 3 14 3 16 4 12 5 6 5 7 5 17 6 7 6 8 6 12 6 14 6 18 7 8 7 9 7 12 7 14 8 15 8 18 9 13 9 18 10 12 10 15 11 17 12 13 12 14 13 14 13 16 13 18 14 17 15 16 16 18 17 18
output:
1 0 0 10 33 82 233 654 1551 3511 7445 14215 25024 40511 60096 82061 102886 118406 124842 120512 106865 86464 63433 42184 24919 12915 6033 2495 862 255 62 13 3 0 0 0 0 0
result:
ok 38 numbers
Test #30:
score: 15
Accepted
time: 2ms
memory: 4096kb
input:
16 22 1 4 1 7 1 13 1 14 2 4 2 11 3 6 3 8 3 9 4 7 4 8 4 14 5 14 6 13 8 11 8 15 10 16 12 14 12 15 13 15 14 16 15 16
output:
1 0 0 2 3 6 7 13 18 15 14 14 15 10 3 3 3 1 0 0 0 0 0
result:
ok 23 numbers
Subtask #3:
score: 0
Time Limit Exceeded
Test #31:
score: 0
Time Limit Exceeded
input:
25 45 1 6 1 12 1 17 2 3 2 4 2 6 3 6 3 8 4 5 4 12 4 16 5 17 6 21 7 14 7 22 7 23 8 15 8 19 8 24 9 11 9 19 9 23 9 25 10 17 10 18 11 16 11 19 11 22 12 19 13 18 14 19 15 19 16 24 17 19 17 22 17 25 18 19 18 21 18 24 19 23 20 22 21 25 22 23 23 25 24 25
output:
result:
Subtask #4:
score: 0
Time Limit Exceeded
Dependency #2:
100%
Accepted
Test #51:
score: 30
Accepted
time: 753ms
memory: 69004kb
input:
15 104 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 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 13 2 14 2 15 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3 11 3 12 3 13 3 14 3 15 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 5 6 5 7 5 8 5 9 5 10 5 11 5 12 5 13 5 14 5 15 6 7 6 8 6 9 6 10 6 11 6...
output:
1 0 0 442 3939 34320 372801 3661658 32985238 283075936 294329881 441417693 293007257 733544953 819572609 817295250 950834455 866813935 477236103 827061189 801102395 532780660 971544264 254912703 380778104 572112036 447607103 447536960 848347203 364310032 327003537 595530991 844889153 408801661 53864...
result:
ok 105 numbers
Test #52:
score: 30
Accepted
time: 8ms
memory: 5360kb
input:
11 48 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 3 4 3 5 3 6 3 8 3 9 3 10 4 5 4 6 4 7 4 8 4 9 4 10 4 11 5 6 5 10 5 11 6 7 6 8 6 9 6 10 7 8 7 9 7 10 7 11 8 10 8 11 9 10 9 11 10 11
output:
1 0 0 109 570 2747 16659 87743 401245 1683808 6425588 22009859 67734240 187875613 470651385 67923054 203081700 146567060 139877519 271028373 340736780 787638539 741967528 233415764 495334841 235657822 745096210 789747251 340760696 269512157 138207585 145638206 202922879 68222601 471116512 188240033 ...
result:
ok 49 numbers
Test #53:
score: 30
Accepted
time: 7ms
memory: 5720kb
input:
11 53 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 11 3 4 3 5 3 6 3 7 3 8 3 10 3 11 4 5 4 6 4 7 4 8 4 9 4 10 4 11 5 6 5 7 5 8 5 9 5 10 5 11 6 7 6 8 6 9 6 10 6 11 7 8 7 9 7 10 7 11 8 9 8 10 8 11 9 10 9 11 10 11
output:
1 0 0 147 848 4564 31031 182864 939323 4444237 19156298 74280489 259536298 819829262 346508993 105489604 501641494 558922700 108877499 237906596 592349717 510284806 680501081 816312648 29051039 775037180 645253810 617231424 715537662 984053436 811352758 709885471 547377455 610458255 232561172 951544...
result:
ok 54 numbers
Test #54:
score: 0
Time Limit Exceeded
input:
17 95 1 4 1 6 1 7 1 8 1 9 1 11 1 12 1 13 1 14 1 16 1 17 2 3 2 4 2 5 2 6 2 7 2 9 2 10 2 11 2 13 2 14 2 15 2 16 3 4 3 5 3 6 3 7 3 8 3 9 3 11 3 13 3 14 3 15 3 17 4 5 4 7 4 9 4 11 4 12 4 13 4 14 4 16 5 6 5 7 5 8 5 9 5 11 5 13 5 15 5 16 6 7 6 8 6 9 6 10 6 12 6 13 6 14 6 15 6 16 6 17 7 9 7 11 7 12 7 13 7 ...
output:
result:
Subtask #5:
score: 0
Skipped
Dependency #4:
0%