Codeforces 909 問題A〜Fの解説

Codeforces 909 問題解説 問題URL A B C D E F 難易度:赤 黄 緑 青 緑 紫 解説 A 問題概要:2つの文字列が与えられる。非空の接頭辞を連結した文字列の中で辞書順最小のものを求める。 アルゴリズムラベル:貪欲 解法分析: 辞書順比較は左から順に文字を比較し、どちらかが終了するか異なる文字が見つかるまで続ける。このため、貪欲法が有効。前後の文字列の接頭辞を比 ...

6月26日 19:39 投稿

AtCoder ABC389のアルゴリズム実装と解説

問題C: キューによる区間管理のシミュレーション この問題では、列の先頭への追加や末尾からの削除、特定位置の要素へのアクセスを効率的に行う必要があります。全ての要素を個別に保持するとメモリや計算量が膨大になるため、連続する要素を「区間」として管理する手法をとります。 各区間について「先頭からの相対距離(開始位置)」と「区間の長さ」を構造体で定義し ...

6月6日 19:20 投稿

数列の部分ソート後の指定位置値の特定

問題概要 1からnまでの順列に対してm回の部分ソート操作を実行し、q番目の位置にある数値を求める問題。ソート操作は昇順または降順のどちらかで、指定された区間内の要素を並び替える。 入力形式 n m a_1 a_2 ... a_n op_1 l_1 r_1 ... op_m l_m r_m q 解法概要 二分探索とセグメント木を組み合わせたO(n log²n)のアルゴリズムを使用する。重要なのは「ある値Xより大 ...

5月22日 19:15 投稿

Codeforces Round 859 Div.4 のアルゴリズム解法と実装解説

問題 A: Plus or Minus 問題概要 3つの整数 a, b, c が与えられます。演算子として + または - のいずれかを用いて a と b を結合した結果が c と一致する場合、該当する演算子を出力してください。必ずいずれか一方のみが成立することが保証されています。 解法のアプローチ 単純な条件分岐で対応可能です。和 a + b が c と等しければ + を、等号が成立しなければ必然的 ...

5月13日 22:32 投稿