QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#768769#5089. 环覆盖NineSuns20 512ms62568kbC++141.3kb2024-11-21 14:22:542024-11-21 14:22:55

Judging History

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

  • [2024-11-21 14:22:55]
  • 评测
  • 测评结果:20
  • 用时:512ms
  • 内存:62568kb
  • [2024-11-21 14:22:54]
  • 提交

answer

#include <bits/stdc++.h>
#define ll long long
#define pii pair <int, int>
#define fi first
#define se second
#define pb push_back

using namespace std;
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]; 
unordered_map <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].count(z.fi)) (ans += 1ll*z.se*fr[i-j][z.fi]) %= mod; 
		cout << ans << " "; 
	}
}

signed main () {
	int T = 1; 
	while (T--) solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 0ms
memory: 3784kb

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: 0ms
memory: 3676kb

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: 4028kb

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: 0ms
memory: 3680kb

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: 0ms
memory: 3948kb

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: 0ms
memory: 3684kb

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: 0ms
memory: 3908kb

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: 4000kb

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: 0ms
memory: 3800kb

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: 3764kb

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: 3944kb

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: 4ms
memory: 4864kb

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: 3840kb

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: 3ms
memory: 4956kb

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: 2ms
memory: 4072kb

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: 3808kb

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: 2ms
memory: 4180kb

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: 4572kb

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: 3732kb

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: 7ms
memory: 5344kb

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: 1ms
memory: 3912kb

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: 2ms
memory: 4296kb

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: 4180kb

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: 0ms
memory: 3944kb

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: 0ms
memory: 4052kb

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: 16ms
memory: 7636kb

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: 25ms
memory: 13560kb

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: 1ms
memory: 3920kb

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: 41ms
memory: 14564kb

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: 1ms
memory: 3848kb

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: 512ms
memory: 62568kb

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: 3ms
memory: 5460kb

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: 3ms
memory: 5568kb

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%