Dまで四完。Dでのペナはケアレスミスなので仕方ない部分もあるが、Cでのペナはあまり良くなかった。細かい部分の考察をせず、sampleが合ったから良いかな、と提出してしまった結果のWAなので。
コンテスト後のツイート
Codeforces Round #798 (Div. 2) pretestはDまで
— titia (@titia_til) June 10, 2022
A 貪欲にシミュレーション
B 最後二つで調整
C 木DP。DP[i]で、そっちを消したら後何個消さなくちゃいけないか、を持つ。子が一つのときの考察を誤り4WA
D 45度回転してmaxとminの平均あたり。maxの方の初期化を誤ったりして5WA
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 件のコメント:
コメントを投稿