ダイクストラ法を用いた単一始点最短経路の導出

単一始点からグラフ内の全頂点への最短距離を算出する代表的な手法として、ダイクストラ法(Dijkstra's Algorithm)が広く利用されています。本アルゴリズムは、すべての辺の重みが非負である場合に限り、正確な最適解を保証します。 アルゴリズムの動作原理 処理の手順は以下の通りです。 始点の距離を 0 に設定し、他の全頂点の距離を無限大(∞)で初期化します。同時に ...

7月27日 23:00 投稿

競技プログラミング問題集:基本アルゴリズムの実践

最短区間カバー問題 指定された種類数を満たす最小連続区間を探索する問題です。スライディングウィンドウ手法を用い、要素の出現頻度を動的に管理しながら最適解を導出します。 #include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> cookTypes(n); for (int i = 0; i < n; ++i ...

5月31日 19:21 投稿

AtCoder Beginner Contest 363 解説:アルゴリズム設計と実装

問題A:数値間隔の算出 入力値 $R$ が属する百の位区間を特定し、その区間の上限値との差分を出力する問題です。条件分岐を用いる代わりに、整数除算による切り上げ演算の特性を活用することで、簡潔な式に変換可能です。 #include <iostream> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int current_rat ...

5月13日 15:46 投稿