提出 #75456688
ソースコード 拡げる
#include<bits/stdc++.h>
#define ll long long
#define rep(i,l,r)for(int i=(l);i<=(r);++i)
#define per(i,r,l)for(int i=(r);i>=(l);--i)
using namespace std;
const int N=2e5+10,P=998244353;
ll f[N+5],v[N+5],p[N+5],r[N+5];
int n,m,c[N+5];
struct node{int l,n;};
vector<node>g;
ll ks(ll a,ll b){ll r=1;for(;b;b>>=1,a=a*a%P)if(b&1)r=r*a%P;return r;}
void init(int n){
f[0]=p[0]=1;rep(i,1,n)f[i]=f[i-1]*i%P,p[i]=p[i-1]*2%P;
v[n]=ks(f[n],P-2);per(i,n-1,0)v[i]=v[i+1]*(i+1)%P;
}
ll C(int n,int m){return(m<0||m>n)?0:f[n]*v[m]%P*v[n-m]%P;}
ll H(int n,int k){
if(n<0)return 0;if(!n)return 1;
ll s=0;for(int i=0;i*(k+2)<=n;++i){
ll t=C(n-i*(k+1),i)*p[n-i*(k+2)]%P;
s=(i&1)?(s-t+P)%P:(s+t)%P;
}
return s;
}
signed main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
string s;cin>>n>>s;init(n+2);int l=0;ll d=0;
for(char x:s)if(x=='.')l++,d++;else{if(l)c[l]++,m=max(m,l);l=0;}
if(l)c[l]++,m=max(m,l);
rep(i,1,n)if(c[i])g.push_back({i,c[i]});
ll pr=1,al=ks(2,d);
rep(k,1,n){
if(k>=m){cout<<(al-pr+P)%P<<"\n";pr=al;continue;}
ll nw=1;
for(auto&i:g){
ll x=(H(i.l,k)-H(i.l-k-1,k)+P)%P;
nw=nw*ks(x,i.n)%P;
}
cout<<(nw-pr+P)%P<<"\n";pr=nw;
}
return 0;
}
提出情報
コンパイルエラー
./Main.cpp: In function 'long long int H(int, int)':
./Main.cpp:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
20 | if(n<0)return 0;if(!n)return 1;
| ^~
./Main.cpp:20:21: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
20 | if(n<0)return 0;if(!n)return 1;
| ^~
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
600 / 600 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 02_max_01.txt, 02_max_02.txt, 02_max_03.txt, 02_max_04.txt, 02_max_05.txt, 02_max_06.txt, 02_max_07.txt, 02_max_08.txt, 02_max_09.txt, 02_max_10.txt, 02_max_11.txt, 02_max_12.txt, 02_max_13.txt, 02_max_14.txt, 02_max_15.txt, 03_corner_01.txt, 03_corner_02.txt, 03_corner_03.txt, 03_corner_04.txt, 04_hand_01.txt, 04_hand_02.txt, 04_hand_03.txt, 04_hand_04.txt, 04_hand_05.txt, 04_hand_06.txt, 04_hand_07.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_01.txt |
AC |
1 ms |
3532 KiB |
| 00_sample_02.txt |
AC |
1 ms |
3776 KiB |
| 00_sample_03.txt |
AC |
1 ms |
3540 KiB |
| 01_random_01.txt |
AC |
5 ms |
5072 KiB |
| 01_random_02.txt |
AC |
12 ms |
8136 KiB |
| 01_random_03.txt |
AC |
3 ms |
4552 KiB |
| 01_random_04.txt |
AC |
6 ms |
5576 KiB |
| 01_random_05.txt |
AC |
13 ms |
8120 KiB |
| 01_random_06.txt |
AC |
11 ms |
6728 KiB |
| 01_random_07.txt |
AC |
14 ms |
6216 KiB |
| 01_random_08.txt |
AC |
11 ms |
5532 KiB |
| 01_random_09.txt |
AC |
27 ms |
7692 KiB |
| 01_random_10.txt |
AC |
25 ms |
7204 KiB |
| 01_random_11.txt |
AC |
25 ms |
7444 KiB |
| 01_random_12.txt |
AC |
20 ms |
6804 KiB |
| 01_random_13.txt |
AC |
8 ms |
4772 KiB |
| 01_random_14.txt |
AC |
34 ms |
8476 KiB |
| 01_random_15.txt |
AC |
9 ms |
4812 KiB |
| 02_max_01.txt |
AC |
37 ms |
8588 KiB |
| 02_max_02.txt |
AC |
38 ms |
8544 KiB |
| 02_max_03.txt |
AC |
35 ms |
8524 KiB |
| 02_max_04.txt |
AC |
32 ms |
8520 KiB |
| 02_max_05.txt |
AC |
39 ms |
8460 KiB |
| 02_max_06.txt |
AC |
32 ms |
8616 KiB |
| 02_max_07.txt |
AC |
31 ms |
8416 KiB |
| 02_max_08.txt |
AC |
34 ms |
8476 KiB |
| 02_max_09.txt |
AC |
35 ms |
8372 KiB |
| 02_max_10.txt |
AC |
24 ms |
8476 KiB |
| 02_max_11.txt |
AC |
18 ms |
8468 KiB |
| 02_max_12.txt |
AC |
15 ms |
8420 KiB |
| 02_max_13.txt |
AC |
13 ms |
8464 KiB |
| 02_max_14.txt |
AC |
12 ms |
8416 KiB |
| 02_max_15.txt |
AC |
12 ms |
8544 KiB |
| 03_corner_01.txt |
AC |
1 ms |
3552 KiB |
| 03_corner_02.txt |
AC |
1 ms |
3652 KiB |
| 03_corner_03.txt |
AC |
45 ms |
8532 KiB |
| 03_corner_04.txt |
AC |
12 ms |
8428 KiB |
| 04_hand_01.txt |
AC |
24 ms |
8472 KiB |
| 04_hand_02.txt |
AC |
24 ms |
8504 KiB |
| 04_hand_03.txt |
AC |
24 ms |
8540 KiB |
| 04_hand_04.txt |
AC |
12 ms |
8392 KiB |
| 04_hand_05.txt |
AC |
12 ms |
8468 KiB |
| 04_hand_06.txt |
AC |
12 ms |
8416 KiB |
| 04_hand_07.txt |
AC |
12 ms |
8468 KiB |