競プロ用チートシート

チートシートのアイデアと全体構成は こちらの引用元 から頂きました。以下に添付されているソースコードはオリジナル、または、著作権を伴わないと判断した一般的な内容です。

 

テンプレート

参考例

ファイルの冒頭に「ヘッダー」を書くことでコーディングの効率化の効果がある。下記は一例であり、自分なりのものを作ることが望ましい。

Hello World!

汎用版Hello World!

 

文法

基本的な文法
プリプロセッサ

C言語・C++言語にはプリプロセッサが存在する。プリプロセッサはソースコードの前処理を行い、その結果はコンパイラへの入力となる。

入出力

出力の書式

データ型、キャスト、定数

演算

繰り返しループ

配列

ポインタ

配列のlower_bound

lower_boundは、ソートされた配列内で、key以上の要素の内の一番左側のイテレータを返す。

char配列の文字列
シングルクォートで囲まれた ‘a’ はひとつの文字(半角文字)。ダブルクォートで囲まれた “abc” は文字列。”a” と ‘a’ は異なる。文字列の末尾には終端記号として ‘\0’ が存在する。文字列は char の配列として扱う。後に述べる string でも文字列を扱うことができる。
条件式
関数
構造体
クラス

 

数値操作

数値の操作

 

string

宣言と参照
編集
操作

 

vector

基本
イテレータ
操作
lower_bound

lower_bound は、ソートされた配列内で、key以上の要素の内の一番左側のイテレータを返す。

比較関数を使ったソート

 

データ構造

set
multiset
map
pair
pairは2つの異なる型を一つの変数で持つことができる。「組」を表現する。3つの異なる型の場合はtupleがある。
stack と queue

 

アルゴリズム

bit全探索
DFS(深さ優先探索)

典型問題

BFS(幅優先探索)

ダイクストラ法

DP(動的計画法)(工事中)

 

その他の関数

CPU時間の計測
進数変換
素数
約数列挙
最大公約数、最小公倍数

__gcd() が使えない環境なら #define OLD の方を使う。getGCD() は再帰関数を使う方法と使わない方法がある。

素因数分解と、互いに素の個数(オイラーのφ関数)

「aとbが互いに素」とは、「aとbの最大公約数が1」ということ。

等差級数

組合せの数

組合せで実行

順列

フィボナッチ数列とメモ化

 

コメント

タイトルとURLをコピーしました