2022年6月12日日曜日

Codeforces Round #798 (Div. 2)

 Dまで四完。Dでのペナはケアレスミスなので仕方ない部分もあるが、Cでのペナはあまり良くなかった。細かい部分の考察をせず、sampleが合ったから良いかな、と提出してしまった結果のWAなので。

コンテスト後のツイート

E. ANDfinity

 解法ツイートを見てAC。

 とりあえず、0は全て1にしておく。
 その上で、下何桁0が続くか(trailing zeroと呼ぶらしい)を見て、それが最大のものに着目する。そいつらのうち1つを-1すると、それよりtrailing zeroが小さいもの達全てとconnectになる。
 それでダメな場合は、trailing zero最大の別のものに+1すれば良い。一番下の桁を考えると、さっき-1した数とconnectになるため、全てがconnectになる。

 と、trailing zeroに注目することと、高々二回で操作が完了することが本質だが、それらは全て試すことが必要。

 具体的には、
・64 64 1 1 1
 だったら、64の一つを+1することで一回の操作で完了できる。(trailing zeroは使わない)

・8 24 24 1
 だったら、trailing zero最大のものは8と24だが、24(のうち一つ)をー1すれば一回で完了するが、8をー1すると二回かかってしまう。

0 件のコメント:

コメントを投稿