結果
| 問題 |
No.2762 Counting and Deleting
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2024-05-23 19:04:42 |
| 言語 | cLay (20241019-1) |
| 結果 |
AC
|
| 実行時間 | 659 ms / 4,000 ms |
| コード長 | 528 bytes |
| コンパイル時間 | 6,313 ms |
| コンパイル使用メモリ | 196,412 KB |
| 実行使用メモリ | 26,176 KB |
| 最終ジャッジ日時 | 2024-12-20 19:02:33 |
| 合計ジャッジ時間 | 12,241 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 15 |
ソースコード
#define MD 998244353
#define M _1
struct M;;
#undef M
using M=Matrix<Mint>;
M segtree_rh_merge(M a,M b){
return b*a;
}
M segtree_rh_apply(int,M a){
return a=1;
}
int segtree_rh_compose(int,int){
return 0;
}
{
ll@n,@q;
string@s;
segtree_rh<M,int>t;
t.malloc(n);
t.setN(n,0,0);
M m0(3,3),m1(3,3);
m0=1;
m0[0][1]=1;
m1=1;
m1[1][0]=1;
m1[1][2]=1;
rep(i,n){
t[i]=s[i]=='0'?m0:m1;
}
t.build();
rep(q){
int@y,@l--,@r;
if(y==1){
t.change(l,r,0);
}else{
M z=t.get(l,r);
wt(z[0][2]+z[1][2]);
}
}
}
tails