4完1WA。Eの解法はわかったのに最後まで不具合がなくならないという情けない結末。
各問題
A - Transfer
問題文よりC - (A - B)
が答え、としませんでしたか?私はしました。on_
これはC < A - B
のケースが考慮されていませんのでWAです。この場合は容器2が空になるため答えは0にしなければなりません。ああ・・・。
しかも入力例3がまさにこのケースだという。いつもは必ず全サンプルを確認するのに、ちょっと手抜いたとたんにこの有様ですよ。
B - Uneven Numbers
editorialの解法がえげつないですな・・・。
私は場合分けして解きました。見てもらったほうが早いと思うので、提出コードだけ貼っておきます。
https://atcoder.jp/contests/abc136/submissions/6687434
C - Build Stairs
右から見るのが確実かと思います。左を見て、同じかそれ以下ならそのまま左に移ります。左が1つ高ければそれを一つ下げてから移ります。左が2つ以上高ければ、下げようがないので"No"です。
左端まで無事遷移できれば"Yes"です。
D - Gathering Children
まず、
- 子供はRLとなっているところに集まってきます
- 移動回数が10100とべらぼうに多いので、最終的にすべての子供がRLの位置で左右移動を繰り返すことになると考えてよいです
- LRとなっているところで区切ることができます
- Lより右にはいけませんし、Rより左にもいけません
なので、例えばRRRLLLRRLL
の場合、最初のRLの部分に6人の子供が、次のRLの部分に4人の子供が来ることになります。
で、RとLのどちらに落ち着くかは、移動回数が偶数であることから容易にわかります。
E - Max GCD
考察でわかったこと(求めたい値をXとする)
- 操作によってすべての要素の和は変わらない
- 操作後のすべての要素を割り切る値Xがある場合、すべての要素の和はXの倍数になる
- 上記より、Xはすべての要素の和の約数
- 制約がN<=500,A<=106なので、すべての要素の和はそんなに大きくならない
- そもそもある数の約数の総数はそんなに大きくならない
- 約数をすべて列挙して総当りできそう
- 上記より、Xはすべての要素の和の約数
- ある数に対しての操作の回数はA mod Xを引くか、X-(A mod X)を足すかどちらか
- modを計算して、ソートして、あるところまで引いてあるところから足す、をやって、引いた分と足した分とが相殺できればおっけーなのでは?
- この足し引きについては累積和の利用で計算量は問題なさそう
- modを計算して、ソートして、あるところまで引いてあるところから足す、をやって、引いた分と足した分とが相殺できればおっけーなのでは?
editorialを見てもこれで合ってるっぽいのですが(ほんまか?)、実装にバグがあったらしくいつまで経ってもサンプルが通せないままタイムアップとなりました。情けない・・・。
(追記)
これ、結局自力ACできた
— Toy (@mdstoy) 2019年8月5日
minとmaxを取り違えるとか変数を取り違えるとかの細かいバグをいくつか仕込んでいた模様・・・
ある程度実装が重くなることが予想できた時点で、速度より確実性を重視すべきということなんだろうhttps://t.co/xzHC1xJDDR
F - Enclosed Points
チラ見しただけ。
まとめ
何度も反省しているような気がしますが、相変わらず落ち着きがたりません。ていうか、考察より実装力がネックになってるのは正直不本意・・・。
レートは微増で、次回こそ真・昇級戦です。(いつまで昇級戦やるの?) まあ最近のパフォで安定していれば、焦らずともあと2回ほどで昇級できる見込みなんですけどね。