比赛 CSP2023-S模拟赛 评测结果 AAATTTAWWWWWWWWWWWWW
题目名称 Maximized Combos 最终得分 20
用户昵称 hnzzlza 运行时间 3.466 s
代码语言 C++ 内存使用 5.08 MiB
提交时间 2023-10-17 20:45:58
显示代码纯文本
#include <bits/stdc++.h>
#define lowbit(x) (x&-x)
using namespace std;
long long n,m,mx,a[200005],l;
int main(){
	freopen("combos.in","r",stdin);
	freopen("combos.out","w",stdout);
	cin>>n>>m;
	for(int i=0;i<n;++i)mx=mx*2+1;
	for(int i=1;i<=mx;++i){
		int num=0;
		for(int k=i;k;k-=lowbit(k))num++;
		if(num==m)a[++l]=i;
	}
	for(int lx=1;lx<=m;++lx){
		int ans=0;
		for(int i=1;i<=l;++i){
			int tot=0,maxl=-1;
			for(int j=a[i];j!=0;j=j>>1){
				if(j&1)tot++;
				else {
					maxl=max(tot,maxl);
					tot=0;
				}
			}
			maxl=max(tot,maxl);
			if(maxl==lx)ans=(ans+1)%998244353;
		}
		cout<<ans<<'\n';
	}
	return 0;
}