ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

ABC080 C - Shopping Street

問題
提出コード
ぱっと読んだときに、何を言っているのかさっぱりわからずしばらく考えがまとまりませんでした。

解法

結局、曜日と午前午後、5種類と2種類と考えるのではなく、時間帯が10種類と考えてしまうのが楽だと思います。
こうすると、joisinoお姉ちゃんの開く店の営業時間を10桁のビットで表現することができます。これは、たいした数にはならないので、全探索をすることができます。
営業時間をSとしたときに、N個のお店について、営業時間が被る個数を逐一調べ、その個数に対する利益を計算することができます。
これを、全てのSに対して計算し、合計利益の最大値を調べれば、答えとなります。
だいたい10^{6}程度の計算回数ですむはずです。