競プロ

(初心者向け)グラフの実装について

タイトルの通り初心者向けです。よかったらゆっくり見ていってください。 さて、競技プログラミングの過去問を解いていると最短経路の問題など、頂点と辺に関する問題が現れます。 町Aと町Bを連結している道路dみたいな感じです。このようなグラフの問題は既…

std::mapについてシンプルに

今回はstd::mapについて。 使いどころがよくわからなくなるmapですが、どうやらキーと値が違う場面だと書きやすいようです。 そしてたまに見かけるアロー演算子はこうやって使うみたいです。 例題 N個の文字列が与えられる。そのN個の文字列を辞書順で早い順…

atcoder茶色にすらなれなかった人が茶色になるまでのお話

まず初めにこのタイトルを見て、なんでや!茶色ぐらいになら誰でもなれるでしょ!と思った方もいるでしょう。 しかし、なれなかった時があった。そんな人のお話。 プログラミング、そして競プロを始めたきっかけ 昔からパソコンが好きではあったのですが、動…

lower_boundとupper_bound

今日も今日とて簡単な例を挙げていく。 意外に違いが少ないことがわかった。 int main() { int a[100] = { 1,3,4,5,10,14 }; cout << *lower_bound(a, a + 6, 6) << endl; //10 cout << *upper_bound(a, a + 6, 6) << endl; //10 } lower_boundはN以上となる…

ちょっと難し目なABC B問題集

個人的にやられてしまったB問題達です。 B問題なのにしっかりした問題が多いので、ゆっくり取り組むのがおすすめです。 B - 価格の合計 bit B - □□□□□ 図形 B - Two Switches 下限と上限 B - Kagami Mochi データ構造 B - Trained? グラフ B - 島と橋 場合分…

std::setについてシンプルに

まずは何はともあれ基礎から。std::setは値を挿入すると共にソートされる機能を持っている。 データ構造は赤黒木。探索、挿入、削除ともにO(log n)。 ランダムアクセスを行うことはできないので参照したい場合はインクリメントなどを用いる必要がある。 #inc…

ブログ始めました。

競技プログラミングでブログをやっている人が多いため自分もブログを始めました。現在レートは灰色です。(ABCのBとCを埋めている最中) 競プロ関係で覚えたことを書き留めていけたらなと思います。 ちなみに目標はおおよその典型的なアルゴリズムを実装でき…