競技プログラミング用 知識集積所
変数とデータ構造
最終更新:
sport_programming
-
view
単純な変数系
- int型(A問題レベル)
最も代表的な整数型変数。
- long long型(B問題レベル)
int型より大きな数を扱える整数型変数。
- size_t型(A問題レベル)(必須ではない)
- double型(A問題レベル)
小数型変数。
- char型(A問題レベル)
文字型変数。
- bool型(A問題レベル)
ブール型変数。
trueとfalseのみを扱う、よくフラグと言われるやつ。
trueとfalseのみを扱う、よくフラグと言われるやつ。
- auto型(B問題レベル)(必須ではない)
実際はauto型という型はない。
型を書くのが面倒な場合に、コンピューターに「これ型書かなくてもわかるでしょ?」と押し付けるための型。
型を書くのが面倒な場合に、コンピューターに「これ型書かなくてもわかるでしょ?」と押し付けるための型。
複雑な変数系
- string型(A問題レベル)
文字列型変数。
- pair型(未作成)(B問題レベル)
2つの値の組を扱う変数。
- tuple型(未作成)(B問題レベル)
pair型の3つ以上版。
データ構造系
- vector(未作成)(A問題レベル)
動的配列。
変数を一列にずらっと並べたようなデータ構造。
多数の、または不特定個数のデータを扱う上で最も基本となる。
変数を一列にずらっと並べたようなデータ構造。
多数の、または不特定個数のデータを扱う上で最も基本となる。
- list(未作成)(?問題レベル)
リスト。
「何番目」ではなく「何の前で何の後」を管理して一列に並べるデータ構造。
「何番目」ではなく「何の前で何の後」を管理して一列に並べるデータ構造。
- stack(未作成)(B問題レベル)
スタック。
資料を積み上げるようなイメージで、最後に新しいデータを付け足したり、最後のものを取り除いたりできる。
資料を積み上げるようなイメージで、最後に新しいデータを付け足したり、最後のものを取り除いたりできる。
- queue(未作成)(B問題レベル)
キュー、待ち行列。
お店の行列ようなイメージで、最後にデータを付け足したり、最初のものを取り除いたりできる。
お店の行列ようなイメージで、最後にデータを付け足したり、最初のものを取り除いたりできる。
- deque(未作成)(B問題レベル)
デック、両端キュー。
stackとqueueを合わせたようなもの。
データの付け足しも削除も、最初でも最後でも可能。
stackとqueueを合わせたようなもの。
データの付け足しも削除も、最初でも最後でも可能。
- priority_queue(未作成)(B問題レベル)
優先度付きキュー、ヒープ。
持っているデータの中で最小(または最大)のものを常に取り出せるようにした構造。
持っているデータの中で最小(または最大)のものを常に取り出せるようにした構造。
- set(未作成)(B問題レベル)
セット、順序付き集合。
データを、重複なく、常にソートされた状態で保持する。
ソートしない版や、重複あり版もある。
データを、重複なく、常にソートされた状態で保持する。
ソートしない版や、重複あり版もある。
- map(未作成)(B問題レベル)
マップ、連想配列。
vector(未作成)が「0番目、1番目、2番目、……」でデータを持つのに対し、mapは「53番目、72番目、104番目、……」みたいに飛び飛びなとこだけ持ったり、「apple番目、banana番目、……」みたいに数以外を使ったりできる。
vector(未作成)が「0番目、1番目、2番目、……」でデータを持つのに対し、mapは「53番目、72番目、104番目、……」みたいに飛び飛びなとこだけ持ったり、「apple番目、banana番目、……」みたいに数以外を使ったりできる。
自作系
- 関数(未作成)(B問題レベル)
- 構造体(未作成)(C問題レベル)
その他
- const(未作成)(C問題レベル)
- constexpr(未作成)(C問題レベル)
- グローバル変数(未作成)(B問題レベル)
- 各データ構造の比較(未作成)(C問題レベル)
vector、list、stack、queue、deque、priority_queue、set、mapそれぞれについて、できることとできないこと、得意なことと苦手なことをまとめた情報。
C問題以降で実行時間を気にするときに必要な知識。
C問題以降で実行時間を気にするときに必要な知識。
- 多次元vector(未作成)(B問題レベル)
vectorの中身にvectorを入れるテクニックについてのまとめ。