たこすの競プロライブラリメモ

C++の個人的競プロライブラリです。99%拝借。

2020-09-01から1ヶ月間の記事一覧

アルファベットループ (alphabet-roop)

目的 アルファベットを一文字ずつ順に出力する。 コード 小文字 for (int i = 0; i <= ('z' - 'a'); i++) { char tmp=(char)('a' + i); } 大文字 for (int i = 0; i <= ('Z' - 'A'); i++) { char tmp=(char)('A' + i); } コードテスト #include <bits/stdc++.h> using names</bits/stdc++.h>…

UnionFind木 (Union-Find tree)

目的 要素xと要素yが同じグループに属するかどうかを判定するためのデータ構造。 また、要素xと要素yそれぞれが属するグループを併合することが可能。 関数 root(x):xの根を返す。 unite(x,y):xとyを併合する。 same(x,y):xとyが同じ木に属するならtrue,…

大文字・小文字変換 (toupper, tolower)

目的 stringの文字列を大文字または小文字に揃える。 コード string s; transform(s.begin(), s.end(), s.begin(), ::toupper);//大文字に変換 transform(s.begin(), s.end(), s.begin(), ::tolower);//小文字に変換 コードテスト #include <bits/stdc++.h> using namespace</bits/stdc++.h>…

テンプレート (default template)

目的 環境変えても貼り付けるだけにしたい コード #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair<ll, ll> p_ll; typedef vector<pair<ll, ll>> vec_p; //vector<pair<ll, ll>> pairs(n) ,pairs.at(i) = make_pair(i*i, i) #define ture ture #define flase false #de</pair<ll,></pair<ll,></ll,></bits/stdc++.h>…

逆元 (modinv)

目的 mod m の世界において、aに対する逆元a-1を計算する。 これを利用することで、剰余同士の割り算が可能になる。 制約 aとmは互いに素である。 オーダー コード //拡張ユークリッド互除法 long long int ext_gcd(long long int a, long long int b, long …