都市間貨物輸送問題のグラフアルゴリズム解法

問題1:都市間の最短経路探索 この問題では、都市間の輸送経路における最短距離を求めます。幅優先探索を応用したアルゴリズムを実装します。 #include <iostream> #include <vector> #include <queue> #include <list> #include <climits> using namespace std; // グラフの辺を表す構造体 struct Connection { int destination; ...

7月24日 03:34 投稿

重み付き木の分割処理

木構造の分割処理 基本概念 木の分割処理:木構造を複数の非交差チェーンに分割する手法で、主に重み付きチェーン分割を用いる。以下の操作をサポート: ノードxからノードyまでの最短経路上の全ノードの値の更新 ノードxからノードyまでの最短経路上の全ノード値の合計取得 ノードxとその部分木の値の更新 ノードxとその部分木の値の合計取得 重み付き子ノード:ノ ...

7月11日 23:30 投稿

グラフ理論:K値の最大化問題 - 二分探索とシミュレーションによる解法

グラフ理論:K値の最大化問題 - 二分探索とシミュレーションによる解法 問題文 n個の頂点とm辺の単純無向グラフが与えられます。このグラフを完全グラフに補完する必要があります。補完のルールは、あらかじめパラメータKを選び、各ステップで「頂点uとvの間に辺が存在せず、かつ両頂点の次数の和がK以上」である辺のみを追加することです。このルールに従って辺を追加し ...

6月6日 17:45 投稿

01迷路の探索と到達可能セル数の計算

問題概要 n×nのサイズの迷路があり、各セルには0または1が書かれています。現在位置が0の場合、上下左右の隣接する4つのセルのうち1のセルに移動できます。同様に、現在位置が1の場合は、隣接する0のセルに移動可能です。この迷路に対して、指定された開始位置から移動可能なセルの総数(開始位置を含む)を求める問題です。 入力形式 1行目:正整数 n, m(迷路のサイズと ...

6月2日 22:01 投稿

深さ優先探索(DFS)の実装と応用

基本原理: 深さ優先探索は、開始ノードから出発し、一つの分岐を深く進み続けます。葉ノードまたは進めなくなったノードに到達するまで探索を続けます。 探索が葉ノードまたは進めなくなったノードに到達した場合、未探索の前のノードに戻り、他の分岐の探索を続けます。 既に訪問したノードをマークすることで、同じ経路での重複訪問を避けます。 DFSアルゴリズムのス ...

5月31日 11:33 投稿

コーススケジュールII - トポロジカルソート - DFS・BFSによる解法

問題概要 0からnumCourses-1までの整数で表される複数のコースが存在します。配列prerequisitesの各要素prerequisites[i] = [ai, bi]は、コースaiを受講する前にbiを完了する必要があることを示します。 すべてのコースを受講可能な順序を返してください。複数の有効な順序が存在する場合は、そのいずれかを返します。不可能な場合は空配列を返します。 例1 入力: numCou ...

5月30日 02:57 投稿