単元一覧 › 大学数学 アルゴリズムと計算量

アルゴリズムと計算量の問題

難易度 2教科書の演習問題レベル大学数学 アルゴリズムと計算量

つの会議室を使いたい 件の予約に番号 〜 が付いており、それぞれの利用時間は次の半開区間 (開始時刻 から終了時刻 の直前まで)である。

予約の番号
開始
終了

利用時間が重ならない予約をできるだけ多く選ぶために、次の貪欲法を使う(ある予約の終了時刻と別の予約の開始時刻が等しい場合は重ならないとみなす)。

1. 予約を終了時刻 の小さい順に並べる。
2. 直前に選んだ予約の終了時刻を とする(最初は )。並べた順に予約を 1 つずつ見て、開始時刻 が を満たせばその予約を選び、 をその予約の終了時刻に更新する。満たさなければ選ばない。

この貪欲法によって選ばれる予約の番号の集合を求めよ。

この問題で使うもの

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

まず 9 件の予約を終了時刻の小さい順に並べ替えましょう。

ヒント 2

「直前に選んだ予約の終了時刻 」を記録しながら、開始時刻が 以上かどうかを順に判定します。終了時刻と開始時刻が等しいときは選べることに注意しましょう。

ヒント 3

最初に予約 が選ばれて 、次に予約 が選ばれて になります。その後を続けましょう。

答えと解説

答えを見る
結果を記録する(このブラウザにだけ保存されます):
解説を読む

終了時刻はすべて異なるので、終了時刻の小さい順に並べる順序は一意に決まり、

となる(この問題では番号の順がそのまま終了時刻の順になっている)。この順に調べる。

  • 予約 : なので選ぶ。。
  • 予約 : なので選ばない。
  • 予約 : なので選ぶ。。
  • 予約 : なので選ばない。
  • 予約 : なので選ばない。
  • 予約 : なので選ぶ。。
  • 予約 : なので選ばない。
  • 予約 : なので選ぶ。。
  • 予約 : なので選ばない。

よって選ばれる予約の番号の集合は で、 件である。

(予約 は予約 の直後に置くこともできるが、終了時刻のより早い予約 が先に選ばれるため選ばれない。終了時刻の早い順に選ぶこの貪欲法は、重ならない予約の件数を最大にすることが知られている。)

別解

終了時刻 の小さい順に並べると、番号は で、 の値はすべて異なるので順序は一意に決まる。

から始める。
- 予約 1: なので選ぶ。。
- 予約 2: なので選ばない。
- 予約 3: なので選ぶ。。
- 予約 4: なので選ばない。
- 予約 5: なので選ばない。
- 予約 6: なので選ぶ。。
- 予約 7: なので選ばない。
- 予約 8: なので選ぶ。。
- 予約 9: なので選ばない。

よって選ばれる予約の番号の集合は 。

検算: 選んだ区間 は互いに重ならない。

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題