ホームに戻る
 TopCoder のためのテンプレ

// スタックサイズを256MBに増やす。
g++ -Wl,-stack_size,0x10000000 a.cpp

// 入出力を速くする。
ios_base::sync_with_stdio(false);
cin.tie(0);

// sublime text のキーバインド
Preferences->Key Bindings
{ "keys": ["ctrl+alt+i"], "command": "reindent"},

// TopCoderのための注意点覚え書き
// 
// 1、N=1など小さなケースで見逃しはないか?
//

// Codeforcesのための注意点覚え書き
// 
// 1、とりあえず long long を使う。
// 2、((1LL<<i)&1)などリテラルの「LL」を忘れない
// 3、入力が200000を超えそうならscanf("%lld", &a)を使う。
// 4、printf("%I64d\n", ans);を使う。(coutは「1e12」などを出力してしまう。)
// 5、printf("%20.20f\n", ans);を使う。(小数解でもcoutは使わない。)
//

 テンプレート
ヘッダのテンプレ
デバグ用テンプレ
128bit対応
乱数の生成
単純ループ
うるう年
文字列
*_element、*_bound
深さ優先探索
幅優先探索
メモ化再帰
ビット探索
順列探索
2分探索
3分探索
しゃくとり法
nCr
Union-Find
1000000007の計算
組み合わせ
ダイクストラ法
ベルマンフォード法
ワーシャルフロイド
強連結成分分解
トポロジカル・ソート
LCA
HL分解
LIS
2部マッチング
最大流量問題
最大流量問題(Dinic)
最小全域木
最小費用流問題
行列累乗
素数関連
数学関連
素因数分解
オイラー関数
ガウス・ジョルダン
点と線
凸包
Convex Hull Trick
セグメント木
BIT
Sparse Table
ローリング・ハッシュ
Suffix Array
Trie木
KMP、manachar、Z algorithm
高速ゼータ変換
 考察など
Pythonの入出力
STL のオーダーに関する覚え書き
XORに関する知見
双六の期待値の問題
括弧の問題
余りの数学について
約数、因数分解、累乗数、GCD、LCMに関する知見
拡張ユークリッドの互助法の応用
N=100000問題の例題
セグメント木に関する知見
最大フローの計算量に関する知見
最小費用流の計算量に関する知見
ホールの結婚定理
 よくある処理など
2次元配列の回転
独自の構造体
行列のテンプレ
ペアの全探索
n個をk個のグループに分ける
nノードnエッジ閉路
全方位木DP
setで範囲を管理
対決問題
幅優先迷路探索
i番目の値が最大、最小となる区間を求める

inserted by FC2 system