タグ

動的計画法に関するshimitakaxのブックマーク (2)

  • そのアルゴリズム、貪欲につき――貪欲法のススメ

    そのアルゴリズム、貪欲につき――貪欲法のススメ:最強最速アルゴリズマー養成講座(1/3 ページ) アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。 動的計画法は当に万能なのか? 連載ではこれまで、かなりの文量を割いて動的計画法について説明してきました。動的計画法はさまざまな問題で有効な解決手段ですが、動的計画法が使えるからといって、常に動的計画法を利用することが正しい選択である、というわけではありません。この理由は簡単で、動的計画法は計算量を大幅に削減できますが、その質は、不要である要素を切り捨てることで問題全体を見渡すというアルゴリズムであるためです。 ここで問

    そのアルゴリズム、貪欲につき――貪欲法のススメ
  • 動的計画法(ナップサック問題) - アルゴリズム講習会

    動的計画法(ナップサック問題) 動的計画法とナップサック問題について解説します。 動的計画法とは 直接計算すると大きな時間がかかってしまう問題に対し、途中の計算結果をうまく再利用することで計算効率を上げる手法のこと。 「途中の計算結果を再利用」=「同じ計算をしない」ということ 難しいように見えて考え方自体は単純 ICPC国内予選でもC問題~F問題くらいに何かしらの形で2,3題ほどでます 英語では「Dynamic Programming」と呼び、略して「DP」と呼ぶことが多いです。 動的計画法で効率的に解ける問題の一つに、ナップサック問題というものがあります。 ナップサック問題 ナップサック問題は、価値と重さが決まっている複数の品物を容量が一定のナップサックに詰め込むとき、ナップサックに詰め込める品物の価値の和の最大値は何であるか? という問題です。 具体的には、以下の図のようになります。ナ

    動的計画法(ナップサック問題) - アルゴリズム講習会
  • 1