探索アルゴリズムなどのカテゴリーです。

AtCoder, ビット全探索, 探索

問題方針ビット全探索

派閥の組み合わせはビット列で表現できるので、ビット全探索を用いて最大の派閥に属する議員数を求めます。派閥が成り立つときその派閥のグラフは完全グラフになっている必要があります。完全グラフかどうかの確認は、人間関係を隣 ...

AtCoder, 二分探索, 探索

問題方針シミュレーション

\( t \) に含まれる文字が \( s \) に存在しなければ、条件を満たす整数は存在しません。そうではないとき、\( t \) の \( i \) 文字目 \( t_i \) について、\( s̵ ...

AtCoder, 幅優先探索, 探索

問題方針幅優先探索

頂点 \( 1 \) から幅優先探索を行って全ての頂点のカウンターの値を計算します。そのために、頂点 \( i \) が最初のカウンターの値をあらかじめ計算します。最初のカウンターの値とは、ある頂点 \( u \) ...

AtCoder, 二分探索, 動的計画法, 探索

問題方針広義単調減少部分列

\( A_1 \geq A_2 \geq \cdots \geq A_i \) となるような広義単調減少列に対して、\( i \) 個の色が必要であることが分かります。これは、連続しない部分列に対しても言える ...

AOJ, 二分探索, 動的計画法, 探索

問題方針

LIS: Longest Increasing Subsequence (最長部分増加列) という問題です。この問題では、狭義単調増加列の中で最も大きいものを求めます。

動的計画法 と 二分探索コード

&n

yukicoder, グラフ理論, ダイクストラ法, 全探索, 探索

問題方針

解説を見ても良く分かりませんでした。

似たような問題で、CSA の良問があります。

コード

 

yukicoder, 数学, 深さ優先探索

問題方針素因数分解

\( N \) を素数 \( p_i \) と 正の整数 \( a_i \) を用いて、 \( N = p_1^{a_1}p_2^{a_2} \cdots p_n^{a_n} \) と表すと、

\ ...

AOJ, 全探索, 探索, 累積和

問題方針累積和

‘W’, ‘B’, ‘R’ についてそれぞれ列ごとに累積和を取っていきます。ある列を塗り替えるコストは、\( M \) からその色の個数を引いた値な ...

AtCoder, 幅優先探索, 探索

問題方針ステップ数が \( 3 \) の最短距離の探索

例えば、ステップ数が \( 3 \) の最短経路の探索では、スタート地点から \( 3 \) ステップ目で到達可能な頂点を距離 \( 1 \) で到達可能な頂点とします。また、この ...

AOJ, 全探索, 探索, 数え上げ

問題方針縦方向と横方向に分けて考える

休憩スペースは南北方向または東西方向に置くことが可能なので、縦方向と横方向に分けて考えます。

連続する空マスを数える

ある方向に向かって連続する空マスを数え、その値が \( D \) より ...