2022年8月1日月曜日

CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)

 AB小森健。Eの四完。紫に落ちました。辛い。

コンテスト後のツイート

D. Magical Array

 解法ツイートを見てAC。

 不変量を探す問題なのだろう、とは思ったが、それを探すことができなかった。
 正しい不変量は、

・i*A[i]の総和
・累積和の総和

 (どちらでも良い。どちらも不変量)だった。

 なぜ思いつかなかったかというと、A[i]とA[0]の差に着目してしまったというのが大きい。ある配列からの差分を考えているのだから、差分が重要なのだろう、と考えていた。

 どう思いつけば良かったんだろうか。

 累積和くらいとってみても良かったのでは、というのは一つある。

 他には、Operation 1とOperation 2の違いは、足すindexが一つ違っているというだけなのだから、index*(何か)みたいに、indexを使った不変量があるはず、という風にして思いつく方向性もあったかもしれない。

 解法ツイートで見たのだけど、配列を頻度分布とみなせば、操作1では総和が1増え、操作2では総和が2増える、ということから考えることもできた。
 これは凄く自然で納得できる。が、頻度分布とみなすところが難しいなぁ。

0 件のコメント:

コメントを投稿