QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#757894#5089. 环覆盖acwing_gza0 0ms0kbC++14734b2024-11-17 14:24:402024-11-17 14:24:41

Judging History

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

  • [2024-11-17 14:24:41]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2024-11-17 14:24:40]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define fo(i,a,b) for(int i=a;i<=b;i++)
const int N=25,mod=1e9+7;
int n,m,inv=1,u,v;
ifstream I("even.in");
int dp[1<<N],s[N*N]={1},f[N*N]={1},t[N*N],g[N];
signed main(){
	freopen("even.out","w",stdout);
	I>>n>>m;
	fo(i,1,m)I>>u>>v,u--,v--,g[u]|=1<<v,g[v]|=1<<u;
	fo(i,1,n)inv=inv&1?inv+mod>>1:inv>>1;
	fo(i,1,(1<<n)-1){
		int k=__lg(i&-i);
		dp[i]=dp[i&i-1]+__builtin_popcount(g[k]&(1<<n)-i-1)-__builtin_popcount(g[k]&i),s[dp[i]]++;
	}
	fo(i,1,m)for(int j=m;j;j--)(f[j]+=f[j-1])%=mod;
	fo(i,0,m){
		fo(j,0,m)(t[j]+=1ll*s[i]*f[j]%mod)%=mod;
		fo(j,1,m)(f[j]+=mod-f[j-1])%=mod;
		for(int j=m;j;j--)(f[j]+=mod-f[j-1])%=mod;
	}
	fo(i,0,m) cout<<1ll*t[i]*inv%mod<<' ';
}

詳細信息

Subtask #1:

score: 0
Dangerous Syscalls

Test #1:

score: 0
Dangerous Syscalls

input:

10 9
3 5
3 10
4 7
4 8
5 6
5 9
6 9
7 9
9 10

output:


result:


Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Dangerous Syscalls

Test #31:

score: 0
Dangerous Syscalls

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
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #4:

0%