クルトンのプログラミング教室

Pythonの使い方やPythonを使った競技プログラミングの解法などを解説しています。

2020-11-01から1ヶ月間の記事一覧

Pythonで理解する蟻本「2-5 全点対最短路問題(ワーシャル-フロイド法)」(p.98)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-5 全点対最短路問題(ワーシャル-フロイド法)」(p.98) のコードをPythonで書き直したものとなっています。 入力 入力例1 入力例2 コード 実行結果 入力例1の場合 入力例2の場合…

Pythonで理解する蟻本「2-5 単一始点最短路問題2(ダイクストラ法)」(p.96)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-5 単一始点最短路問題2(ダイクストラ法)」(p.96) のコードをPythonで書き直したものとなっています。 入力 入力例 隣接リストを用いたコード(O(|V|^2)) 実行結果 優先度付…

Pythonで理解する蟻本「2-5 単一始点最短路問題1(ベルマンフォード法)」(p.95)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-5 単一始点最短路問題1(ベルマンフォード法)」(p.95) のコードをPythonで書き直したものとなっています。 入力 入力例1 入力例2 負の閉路が無い場合のコード 実行結果 入力例…

Pythonで理解する蟻本「2-5 二部グラフ判定」(p.93)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-5 二部グラフ判定」(p.93) のコードをPythonで書き直したものとなっています。 入力 入力例 入力例1 入力例1 解答 入力 蟻本の入力例ではグラフが書かれていただけだったので、…

Pythonで理解する蟻本「2-5 隣接リスト」(p.91)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-5 隣接リスト」(p.91) のコードをPythonで書き直したものとなっています。 隣接リストのコード 例1 隣接リストのコード 例1 MAX_V = 10 ** 8 G = [0] * MAX_V ''' 辺に属性が…

Pythonで理解する蟻本「2-4 食物連鎖(POJ 1182)」(p.85)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-4 食物連鎖(POJ 1182)」(p.85) のコードをPythonで書き直したものとなっています。 入力 入力例 解答 入力 入力例 100 7 1 2 2 2 1 2 1 101 1 2 3 1 3 5 1 2 3 3 3 1 5 解答 #…

Pythonで理解する蟻本「2-4 Union-Find木」(p.81)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-4 Union-Find木」(p.81) のコードをPythonで書き直したものとなっています。 Union-Find木の実装 コード 実行例 コード 実行結果 classを使ったUFTの実装 コード 実行例 コード …

Pythonで理解する蟻本「2-4 二分探索木」(p.75)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-4 二分探索木」(p.75) のコードをPythonで書き直したものとなっています。 二分探索木の実装 コード 実行例 コード 実行結果 プログラミング言語の標準ライブラリ 二分探索木の…

Pythonで理解する蟻本「Fence Repair(PKU 3253)」(p.75)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「Fence Repair(PKU 3253)」(p.75) のコードをPythonで書き直したものとなっています。 入力 入力例 解答 入力 入力例 3 8 5 8 解答 # 順位キュー(優先度付きキュー)をインポー…

Pythonで理解する蟻本「2-4 Expedition(POJ 2431)」(p.73)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の 「2-4 Expedition(POJ 2431)」(p.73) のコードをPythonで書き直したものとなっています。 入力 入力例 解答 入力 入力例 25 10 4 10 14 20 21 10 5 2 4 解答 C++のpriority_queue…