比赛 |
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;
}