競プロテンプレ

C++14用mod_int

C++14用mod_intです。勝手にmodを取ります。 型名はmintです。 using mint = mint_base<1000000007>; の1000000007がとるmodになります。 +-*/やインクリメント,デクリメントが出来ます。 ~で逆元を取れますが、そのままでも割り算が使えます。(どちらもlog…

N次元配列を同じ値で埋めるテンプレ

N次元配列を同じ値で埋めるテンプレを置いておきます template<typename T> void fill_all(T& arr, const T& v) { arr = v; } template<typename ARR, typename U> void fill_all(ARR& arr, const U& v) { for (auto& i : arr) { fill_all(i, v); } } 使用例 int dp[1000][1000]; fill_all(dp,-1);/</typename></typename>…

セグ木テンプレ

C++11用オレオレセグ木テンプレです。 「変更するコードここから」の下を書き換えて使います。 segment_tree<int, 1000> seg; で要素int,大きさ1000のセグ木が出来ます。2の累乗には勝手に拡張するので1024でなくて良いです。 これをそのまま使うのではなく、これは一例</int,>…