beet's soil

競プロのことなど

闇の魔術に対する防衛術、あるいは自動ベクトル化のコツ

もうどうしようもないよこれ

非想定 O(NQ) を落とすためには自分で書いてみるのが一番ですが、そのときの書き方が下手だと「落とせていると思っていたら通されてしまった」ということが起こりえます この記事では定数倍の軽い書き方を紹介します

最近のコンピュータ速すぎて1e10が2secとかだしもう区別するの無理なんじゃないかな

前提

beet-aizu.hatenablog.com

生配列を使う

vector ではなく生配列を使うとかなり変わります

強い最適化オプションを使う

sse4 より avx2、 avx2 より avx512 のほうが速い

符号なし整数を使う

なんか乗算とかがけっこう変わる?オーバフロー周りなのかな