Denoで提出すべきタイミング@AtCoder
#競技プログラミング
#AtCoder
TypeScript
で
AtCoder
に挑戦する上では基本的には
Bun
を使っておけばいいのですが、一部「
Bun
だと苦手、もしくは実行できない」ようなプログラムが存在します。そういうときは
Deno
に切り替えましょう。
以下に、
Deno
に切り替えるべき状況を列挙します。
深い再帰関数で、かつその関数が
Proper Tail Calls
の対象にならない場合
Bun
では、
Proper Tail Calls
にならない再帰関数は
Maximum call stack size exceeded
になります
スタックサイズ引き上げが行われていないので
スタックサイズ引き上げがジャッジ環境の設定側で行われている
Deno
(か
Node.js
)を使いましょう
もしくは、
Proper Tail Calls
になるように書き換えましょう
bigint
を多用する場合
Bun
は基本的に速いですが、
bigint
の処理は苦手っぽいです
Deno
のほうが少し速いみたいなので、
Deno
に切り替えてみてもいいと思います
とはいえ
bigint
自体重いので、
number
で済ませられないかは検討してもいいかもしれません
例:
mod998244353で加算・減算@TypeScript
(加減だけなら
number
で済ませられます)