trsing’s diary

勉強、読んだ本、仕事で調べたこととかのメモ。

AtCoder Beginner Contest 140参加メモ

結果

A,B,C,Dの四完

A - Password

候補は[1-N],[1-N],[1-N]なのでN3ですね。

B - Buffet

食えば足されるのでBは全部足します。 Aを順に追って行って連番(A_{i+1}-A_{i}==1)になればA_{i}に対応するCを足します

C - Maximal Value

B_{i}\geq \max (A_{i},A_{i+1}) ということは A_{i}\leq\min(B_{i},B_{i-1}) です。Aの総和を最大にしたいので A_{i} = \min(B_{i},B_{i-1})。端はそのまま入れます(A_{1}=B_{1},A_{N}=B_{N-1})。

D - Face Produces Unhappiness

操作で影響を受けるのは境界の人だけ(2-4の人を操作するなら3の人の幸福は変わらない。影響を受ける1,2,4,5の人(かつ境界方向を向いている人))で、増える幸福人数は最大2です(LRRL(不 不 幸 不)→LLLL(不 幸 幸 幸)。向きが変わるところを選ぶ)。 ただし、操作範囲に東or西端を含む場合は最大1(LRR(不 幸 不)→RRR(幸 幸 不))。

また、最大幸福人数はN-1(全員同じ方向の場合)です。

操作範囲に東or西端を含まざるを得ない場合はせいぜい最後の1回(この操作で全員同じ方向になる)、他はそうではないので、min(操作前の幸せ度+操作数x2,N-1)が答えとなります。

最初は複雑に考えてごちゃごちゃやってWA貰っちゃいましたね・・・。

所感

久々の参加。螺旋本一通りやった成果を見せてやる・・・!と意気込んだはよいもののEの壁は厚かった・・・。日々問題に取り組んだおかげで解くのがちょっと早くなったかも?