Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Regular Contest 107

2完。しかし早さ負けしています。

各問題

A - Simple Math

すいません。さんざん考えてもわからなかったので、未証明で(a*(a+1)/2)*(b*(b+1)/2)*(c*(c+1)/2)mod998244353を投げて通しました・・・。

ここのところ、AtCoderでもこどふぉでも、Aの数学が証明できず苦しむパターンが連続していて辛いです・・・。

B - Quadruple

a+bが取りうる値は[2, 2*n]、それに対するc+dの取りうる値はKを引くことで求められます。ただし、これも[2, 2*n]の範囲内に限ります。

あとは[2, 2*n]のそれぞれに対して、a+bc+dがいくつあるかを数えてかけ合わせたものを足していけば答えです。繰り返しますがc+dのとりうる範囲には注意します。

C - Shuffle Permutation

うーんよくわかりませんでした。机上でも答えがまったく合わず・・・。

(追記・悲報)

盛大に誤読していました。「全ての1 \leq i \leq Nについて」という条件がいつの間にか頭から抜け落ちてしまっていたようです・・・。なんでサンプル解はこんなに小さいんだと思っていたら、そういうことでしたか。

D - Number of Multisets

DP(メモ化再帰?)をするのかなと思ったのですが、Cの考察に時間をかけてしまったので実装完了に至らず・・・。

まとめ

(実装が)イージーなA問題をすんなり証明できなかったため大きくパフォーマンスを下げてしまう結果に。それでもぎりぎりレートは水色にとどまったのでとりあえずよし。(よくないですが)

明日はABCとこどふぉがかぶっていて、こどふぉに出ようと思っていたのですが、ABCをパスするとこのレートで次はAGCなわけですが・・・。悩ましい。

f:id:mdstoy:20201031225340p:plain