2018-06-01から1ヶ月間の記事一覧
問題 木の復元 | アルゴリズムとデータ構造 | Aizu Online Judgeある木について、preorderとinorderで得られた情報から木を構築し、postorderを求める問題です。 以下のページが分かり易かったです。 データ構造 巡回結果からの木の構築 Tree - Reconstructi…
問題 マージソート | アルゴリズムとデータ構造 | Aizu Online Judgeマージソートを実装する問題です。 マージソートとかクイックソートとか、分割統治法がすごい苦手なのですが、頑張ってみました。 アルゴリズムは問題のページに載っているのですが、自分…
問題 シェルソート | アルゴリズムとデータ構造 | Aizu Online JudgeALDSの問題を最初から解きなおしているのですが、この問題は解かずに放置していたので初めての取り組みです。 シェルソートとは挿入ソートを改良したものです。以下のページが分かり易かっ…
問題 最大流 | グラフ | Aizu Online Judge最大流の問題です。フォード・ファルカーソンのアルゴリズムにて実装しました。 アルゴリズム自体はなんとなーーーーく分かったのですが、実装は全く手が動きませんでした。 というわけで蟻本のコードをほぼそのま…
問題 Equal Range | Aizu Online Judgeitp2の6は二分探索に関する問題です。今回の問題は、与えられた値のlower boundとupper boundを求める問題です。 以前6-cのlower boundを求める問題を解いたのですが、ぐっちゃぐちゃなコードだったので、この問題を解…
問題 Set: Search | Aizu Online JudgeAOJに新しいコースが追加されていました。ITP2(Introduction to Programming 2)ということなのですが、 「Hello,World」から始まるITP1とは違って結構難しいです。なかなか解き終わりません。 多くはC++に標準実装され…
問題 | アルゴリズムとデータ構造 | Aizu Online JudgeAOJのALDSに新しい問題が追加されていました。Treapを実装する問題です。 TreapとはTree+Heapということで、二分木とヒープの組み合わせです。考えた人すごいっすね。自分で考えてもよく分からなかった…
問題 木の直径 | グラフ | Aizu Online Judge木の直径を求める問題です。 1.任意の点(sとする)から最遠の点(tとする)をdfsで求める 2.tから最遠の点(uとする)をdfsで求める。このとき、tとsの距離が木の直径となる。 アルゴリズムは簡潔なので…
問題 単一始点最短経路 | グラフ | Aizu Online Judge所謂、最短経路問題というやつです。以前解いた時はTLEだったので再挑戦。 ダイクストラ法で実装しました。 このアルゴリズムでは、コストが最小のノードを毎回ピックアップするので、コスト最小のノード…