yn2011's blog

技術メモ

AtCoder

AtCoder 茶色になったので振り返りと茶色になるために必要だと思うことを書く

最初に一言。茶色になるのは想像以上に大変だった。 tl;dr AtCoder をはじめる前の実力とかモチベーション レート遷移 開始 1ヶ月 開始 2ヶ月 開始 3 ~ 4ヶ月 開始 5 ~ 7ヶ月 開始 8ヶ月~ 茶色 やって良かったと思うこと やらなくても良かったと思うこと 茶…

パスカルの三角形を利用して組み合わせの数を求める

ABC 132 D 問題 の公式解説で、パスカルの三角形を利用して組み合わせの数を求めていたが、一見して何をしているか理解できなかった。 実装はこんな感じで、nCk を計算できる。 int n, k; cin >> n >> k; int c[105][105] = {}; c[0][0] = 1; for(int i=0; i…

総和の剰余(mod) を計算したい

C - Sum of product of pairs で躓いたのでメモ。 総和の剰余(mod) 整数 a1, a2, a3 ... の 総和の剰余(mod) を計算したい。 (a1 + a2 + a3 ... ) % m このとき、上の計算は以下と同値である。 (a1 % m + a2 % m + a3 % m ... ) % m これを剰余演算の分配法…

(a + b - 1) / b で a / b の切り上げを計算する

整数 a, b に対して、 a / b の切り上げを計算したい場合 (a + b - 1) / b するという小技が競技プログラミングではよく使われる。 なぜこれで切り上げが計算できるのか、良い感じの説明が検索しても出てこなかったので自分なりの理解を書いておく。 以下 / …

AtCoder Beginner Contest に参加し始めた

AtCoder が毎週開催している AtCoder Beginner Contest (以下ABC)に参加するようになって 1ヶ月程度経ったので何かその辺りのことを書いておく。 今の成績 なぜやるか 始める前の実力 ABC 初参加前にやったこと 環境構築 AOJ ITP1 を解いた ABCに初めて参加…