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

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

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

ある科学フェスティバルで、 つの体験教室 〜 が開かれる。体験教室 は時刻 に始まり時刻 に終わり、半開区間 の時間帯を使う(したがって、ある教室の終了時刻と別の教室の開始時刻が等しければ、両方に参加できる)。

体験教室
開始時刻
終了時刻

ある参加者は、時間帯が重なる つの教室には同時に参加できない。この参加者が次の貪欲法で参加する教室を選ぶ。

「教室を終了時刻の早い順に並べ、先頭から順に見ていく。見ている教室の開始時刻が、直前に選んだ教室の終了時刻以上であれば(最初の教室は無条件に)その教室を選ぶ。そうでなければ選ばない。」

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

この問題で使うもの

ヒント

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

ヒント 1

区間スケジューリングの貪欲法を使います。まず、すべての教室を終了時刻の早い順に並べ替えましょう。

ヒント 2

直前に選んだ教室の終了時刻を として、次の教室の開始時刻 が なら選び、 をその教室の終了時刻に更新します。半開区間なので のときは選べます。

ヒント 3

並べる順番は です。最初に教室 を選んで 、次に教室 は なので飛ばし、教室 は なので選んで となります。この続きを最後まで進めましょう。

答えと解説

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

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

終了時刻は であり、すべて異なる。よって見る順番は

である。

手順 2:先頭から順に、直前に選んだ教室の終了時刻(これを とする)と開始時刻を比べる。

  • 教室 :最初なので選ぶ。。
  • 教室 : なので重なる。選ばない。
  • 教室 : なので選ぶ。。
  • 教室 : なので選ばない。
  • 教室 : なので選ばない。
  • 教室 : なので選ぶ(半開区間なので終了時刻 と開始時刻 は重ならない)。。
  • 教室 : なので選ばない。
  • 教室 : なので選ぶ。。

手順 3:選ばれた教室をまとめる。

選ばれたのは教室 の つである。よって求める集合は である。

(この貪欲法で選ばれる個数は、重ならないように選べる教室の個数の最大値に一致することが知られている。)

別解

終了時刻の早い順に並べる。終了時刻は 教室2:3、教室1:5、教室3:7、教室5:8、教室4:9、教室7:10、教室6:11、教室8:12。
順に見ていく。
1. 教室2 [1,3) を最初なので選ぶ。直前の終了時刻は 3。
2. 教室1 は開始 2 < 3 なので選ばない。
3. 教室3 は開始 4 ≥ 3 なので選ぶ。終了時刻は 7。
4. 教室5 は開始 3 < 7 なので選ばない。
5. 教室4 は開始 6 < 7 なので選ばない。
6. 教室7 は開始 7 ≥ 7 なので選ぶ。終了時刻は 10。
7. 教室6 は開始 8 < 10 なので選ばない。
8. 教室8 は開始 10 ≥ 10 なので選ぶ。終了時刻は 12。
選ばれる集合は {2,3,7,8}。
検算として、[1,3),[4,7),[7,10),[10,12) は互いに重ならない。4 教室が選ばれ、これは最大数である。他の教室は選ばれた教室のどれかと重なる。
同じ終了時刻の教室はなく、並べ方は一意に決まる。

この問題の確認

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

間違いを報告する

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

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

関連する問題