競技プログラミング用 知識集積所

B問題レベル

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


難易度感

やや込み入ったプログラムを書けるか、というレベルの問題。
とはいえ、まだ「こういう動作するプログラムを書け」と言われた通りに作ればいいレベル。
脱灰色を目指す場合、とりあえずABCの最初の10分くらいでAとBに答えることが目標となる。

要求される知識的にはA問題より少し増えるが、それ自体はA問題レベルの内容がわかるならさほど苦労しない。
むしろ、要素を2重3重にしたりとコードが長く複雑になることへの慣れが必要。

変数系

桁数の多い整数型。
int型で桁数が足りない場合に使う。

実際はauto型という型はない。
型を書くのが面倒な場合に、コンピューターに「これ型書かなくてもわかるでしょ?」と押し付けるための型。

スタック。
資料を積み上げるようなイメージで、最後に新しいデータを付け足したり、最後のものを取り除いたりできる。

キュー、待ち行列。
お店の行列ようなイメージで、最後にデータを付け足したり、最初のものを取り除いたりできる。

デック、両端キュー。
stackとqueueを合わせたようなもの。
データの付け足しも削除も、最初でも最後でも可能。

優先度付きキュー、ヒープ。
持っているデータの中で最小(または最大)のものを常に取り出せるようにした構造。

セット、順序付き集合。
データを、重複なく、常にソートされた状態で保持する。
ソートしない版や、重複あり版もある。

マップ、連想配列。
vector(未作成)が「0番目、1番目、2番目、……」でデータを持つのに対し、mapは「53番目、72番目、104番目、……」みたいに飛び飛びなとこだけ持ったり、「apple番目、banana番目、……」みたいに数以外を使ったりできる。





vectorの中身にvectorを入れるテクニックについてのまとめ。

タグ:

B問題レベル
ウィキ募集バナー