結果
問題 | No.2762 Counting and Deleting |
ユーザー |
![]() |
提出日時 | 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]); } } }