128. AtCoder参加記録(AtCoder Beginner Contest 263)
先週は体調不良のためお休み。
32回参加でレート 1336 です。
今回はパフォーマンス 1495 です。
ABCDを通して、FGExは未解答です。Eは通せず。
各問題の思考過程など。
A
3分22秒。
制約の文どういうこと…?と思いましたが、あんまり関係なさそうなので気にしないことにしました。
Dictionary で枚数を保持して判定しましたが、なんか無駄に複雑になったような気もします。
B
3分13秒。
の有向辺を張って、 から辿って に辿り着いたときの深さが答え。
C
5分35秒。
辞書順に順列を生成するのはライブラリ化していたので、これを少し調整して狭義単調増加列のみ生成するようにしました。
D
13分34秒。
- すぐには分からなかったので、入力例 1 を書き出して考えてみる。
- 貪欲に考えてみるが、ちょっと無理そう。
- と 両方あるのが厄介なので、 だけ考えてみる。
- 全部 に置き換えてみて、各項の差分を考える。 を決めた時の総和への影響は、差分の累積和( とする)によって で求められる。 についても同様。
- が決まっているなら、最適解は である。これはセグメント木で で求められる。
- あとは を全探索すれば で間に合う。
E
初回提出51分44秒。解けず。
- 最初20分くらい考えていた方針は破綻してそうだったので、EDPCの似た問題を思い出し、解き方がすぐ思い出せなかったので解説記事を読む。これと同じことをすればよさそう。
- とすると、。
- 式を整理して 。
- 総和計算で TLE しそうだが、ここは累積和なりで何とかなりそう…だけど、ゴチャってきたので一度投げてみる。
…と、これで提出してみると、TLE の他に RE が出る(WA は出なかった)。最大ケースでやってみると、まさかの StackOverflow。再帰のメモ化忘れでもない。
どうも自作のライブラリがダメだったらしい。
(以下、Upsolve)
何故か有理数ライブラリを使っていたけど、翌朝冷静に考えると必要なかった…。再帰でやると逆にややこしかったので、 を考える時 は評価済みであるという性質を利用し、逆順でDPテーブルを更新してAC。
F, G, Ex
見てないです。
Dまでがとても順調だったので温まりましたが、E解けなかったのは悔しいですね。期待値DPはまだまだ身についてない感が強いです。