競技プログラミングで活用できるアルゴリズムのテクニック

高速乗算の実装 以下の実装は誤差が発生せず高速に動作します。 long long multiply(long long x, long long y, long long mod) { long long c = static_cast<long long>(static_cast<long double>(x) * y / mod + 0.5); c = x * y - c * mod; if (c < 0) c += mod; if (c >= mod) c -= mod; return c; } 貪欲法の応用 線分関 ...

6月30日 00:09 投稿

アルゴリズム競プロ実装解説:括弧最適一致・グラフ着色・Mo法応用・カルテジアン木

括弧列の最適一致(ciphertext) 与えられた文字列には '('、')'、およびワイルドカード '?' が含まれます。目標は '?' を適切な括弧に置き換え、できる限り多くの一致ペアを形成し、一致不能な括弧の最小個数を出力することです。 本問題は貪欲法を段階的に適用することで解けます。まず、既存の '(' と ')' による明確な一致をスタックを用いて処理し、一致した位置はマ ...

5月20日 01:26 投稿