りにゅうしょく

競技プログラミング 日常

Codeforces Round #690 (Div. 3) detayo~~

システスまだだけど多分ABCDの4完

A. Favorite Sequence

dequeを使って左右から取り出していく

B. Last Year's Substring

"2020"を分割する組み合わせは、
"2020"+""・"202"+"0"・"20"+"20"・"202"+"0"・""+"2020"だけなので、その通りに場合分け

C. Unique Number

bit全探索で、i番目のbitが立っている時iを足す……ってやって、合計値がxになるもののうち、桁数(bitが立っている数)が最小のものを出力

D. Add to Neighbour and Remove

最大でもN-1回の操作でできる。
累積和を取って、累積和に出てくる数字それぞれについて、数列を全部その数字にすることが可能か見る。最初に10^8全部見てて1ペナ……。

E1. Close Tuples (easy version)

じゅぴろさんに教えてもらった。
最小の数を1つ決めると、1種類の数字から3つ取る場合・2種類の数字から3つ取る場合・3種類の数字から3つ取る場合が考えられる(元々数列のどの位置にあったかは関係ない)。最小の数を1~N-2まで見て、すべての場合を足し合わせていく。

E2は起きてから考えます。オヤスミ……。