結果
問題 | No.2983 Christmas Color Grid (Advent Calender ver.) |
ユーザー |
![]() |
提出日時 | 2024-12-08 02:48:39 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 1,327 ms / 3,340 ms |
コード長 | 552 bytes |
コンパイル時間 | 4,269 ms |
コンパイル使用メモリ | 179,700 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-08 02:48:59 |
合計ジャッジ時間 | 18,861 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 64 |
ソースコード
ll@(h,w,k,m),hw=h*w;unionFind u[hw+1];rep(i,hw+1){u[i].malloc(hw,1);}mint().setmod(m);mint a,z,c[hw+1],e[hw+1];rep(i,hw){a+=mint(1)/(i+1);}rep(i,hw+1){c[i]=mint(i)**k;}rep(b,1,1<<hw){int d=BIT_popcount(b);copy(u[d-1].d,u[d-1].d+hw,u[d].d);int j=BIT_ctz(b);mint x=e[d-1]+c[1];if((j+1)%w && b&1<<j+1){x-=c[u[d].size(j+1)]+c[1];u[d](j,j+1);x+=c[u[d].size(j)];}if(b&1l<<j+w && u[d](j)!=u[d](j+w)){x-=c[u[d].size(j+w)]+c[u[d].size(j)];u[d](j,j+w);x+=c[u[d].size(j)];}e[d]=x;z+=x;}wt(a*z/mint(2)**hw);