murnana's diary

プリントの裏に書くとか、そんな感じです

ABC080 D - Recording

D - Recording

解説動画: youtu.be

テレビ番組を録画したい

  • N個のテレビ番組を録画したい
  • チャンネルはC個
  • i個のテレビ番組は、時刻s~時刻tまで、チャンネルCiで放送される
  • 録画機は、時刻S~時刻Tまで録画したいとすると、S-0.5~Tまでの時間、他のチャンネルの録画をすることができない(同じチャンネルならできる)
  • N個すべてを録画するとき、必要な録画機の最小数は?

解き方

累積和を使う

  1. 配列aを用意する
  2. 変数bを一つ用意する
  3. すべての番組の最を1とする
  4. その番組の終わりに-1とする
  5. a配列を順に追う 1があったらbに+1,-1なら-1を足していく
  6. bの最大値を求める

ほへーって感じです。ほへー。
累積和はアルゴリズムの一つのようです。

paiza.hatenablog.com

ABC080 C - Shopping Streetの復習

C - Shopping Street

解説放送

youtu.be

問題についてざっくりと。

午前、午後合わせて10回の営業がある。
ただし、午前か午後、必ずどちらかに営業しなければならない。

ほかのお店も営業したりしなかったりしていて、他のお店と予定がぶつかると、それぞれどれくらいの利益になるのかを考えつつ、最大の利益が出せるように営業時間を決めるというはなし。

結論。総当たり。

C - Shopping Street写し

結局if(a~)あたりがよくわからぬ…