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

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

難易度 1教科書の例題レベル大学数学 アルゴリズムと計算量

ある人が、テレビ番組を 台のテレビで 本ずつ見ることにした。見たい番組が 本あり、番号 〜 が付いている。番組 の放送時間は、開始時刻 から終了時刻 の直前までの半開区間 である(時刻の単位は時間)。

番組

番組は最初から最後まで見るものとし、放送時間が重なる 本を両方見ることはできない(一方の終了時刻ともう一方の開始時刻が等しい場合は、両方見られる)。

次の貪欲法で見る番組を選ぶ。

  • 番組を終了時刻 の小さい順に並べる。
  • その順に番組を調べ、その番組の開始時刻が、すでに選んだ番組の終了時刻の最大値以上であれば(まだ 本も選んでいなければ無条件に)その番組を選ぶ。そうでなければ選ばない。

この貪欲法で選ばれる番組の番号の集合を求めよ。

この問題で使うもの

ヒント

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

ヒント 1

区間スケジューリングの貪欲法を使う。まず番組を終了時刻の小さい順に並べ替えよう。

ヒント 2

並べた順に調べ、「開始時刻 直前に選んだ番組の終了時刻」のときだけ選ぶ。終了時刻と開始時刻が等しい場合は選んでよい。

ヒント 3

終了時刻の小さい順は番組 である。最初に番組 を選び、次に開始時刻が 以上の番組 を選ぶ。この後を続けよう。

答えと解説

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

手順 1:終了時刻の小さい順に並べる。

終了時刻はすべて異なるので、並べ方は一通りに決まる。

順番
番組
区間

手順 2:前から順に調べる。 直前に選んだ番組の終了時刻を と書く。

  • 番組 :まだ何も選んでいないので選ぶ。。
  • 番組 :開始 なので重なる。選ばない。
  • 番組 :開始 なので選ぶ。。
  • 番組 :開始 。選ばない。
  • 番組 :開始 。選ばない。
  • 番組 :開始 なので選ぶ。。
  • 番組 :開始 。選ばない。
  • 番組 :開始 なので選ぶ(半開区間なので終了時刻と開始時刻が等しければ重ならない)。。

結果:選ばれる番組は の 本で、集合は である。

(参考:終了時刻の早い順に選ぶこの貪欲法は、重ならない番組の本数を最大にすることが知られている。)

別解

終了時刻の小さい順に並べると、番組 となる(括弧内は 。終了時刻に同じ値はない)。

順に調べる。
- 番組 2: まだ何も選んでいないので選ぶ。選んだ番組の終了時刻の最大値は 。
- 番組 1: なので選ばない。
- 番組 3: なので選ぶ。最大値は 。
- 番組 4: なので選ばない。
- 番組 5: なので選ばない。
- 番組 6: なので選ぶ。最大値は 。
- 番組 7: なので選ばない。
- 番組 8: なので選ぶ(半開区間なので両方見られる)。最大値は 。

選ばれる番組は 。

検算: 選んだ番組の放送時間は で、どの 2 つも重ならない。

この問題の確認

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

間違いを報告する

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

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

関連する問題