競プロ引退しました。

競プロハマってたときに書いてたブログ。いまは引退中。

一問一答七週目

AtCoder Virtual Contest で、一日一問 ABC-C 問題を解いてます。一週間ごとにさらっと内容をおさらいします。

AtCoder Virtual Contest

三十六日目:C - 数列ゲーム

 早速復習追いつかず…

三十七日目:C - 列

 尺取法使えばおk。右に伸びれなくなったら、伸びれるようになるまで左側を進めて全体を緩めるイメージ。

atcoder.jp

三十八日目:C - 数式の書き換え

 {+}でsplitしたら、掛け算の要素が残る。0が含まれてない掛け算の要素が何個あるか数えればおk。

atcoder.jp

三十九日目:C - 経路

 組合せを使う問題。思いついたけどなぜかできなかった。。。満点を取るためには、逆元の勉強が必要。

 組合せの計算は、定義に従って階乗を利用するのがよい。math.fact モジュールを使えばお手軽にできる(前者解答)。自分で関数を定義する場合は、sys.setrecursionlimit モジュールを使って、再帰の回数上限を引き上げておく必要がある(後者解答)。デフォルトは1000回で頭打ち。

atcoder.jp

atcoder.jp

四十日目:C - オセロ

 いもす法でおk。

atcoder.jp

むすび

 緑まで、あと33。コンスタントにABC-C問題を解きたいところ。