競技プログラミング日記

主に AtCoder の記事です

このブログでよく使う記号等

集合

自然数 Nに対して,
 i \in N により  i \in [0, 1, \cdots, N-1]
を表す.
この表記を使っている人は見かけないが,便利だと思っている.

 

cpp のマクロ等

typedef long long ll;
const ll INFL = 1LL << 60;
using vll = vector<long long>;  using vvll = vector<vll>;
using pll = pair<ll,ll>;
#define srep(i,s,t) for (ll i = (s); i < (t); ++i)
#define rep(i,n) srep(i,0,(n))

#define all(x) (x).begin(),(x).end()
template<typename T> bool in(T x, T l, T r){
  if(l >= r) return false;
  return l <= x && x < r;
}
template<typename T> bool in(T x, T a){ return in(x, (T)0, a); }

template<class T>bool chmax(T& a, const T& b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T& a, const T& b) { if (a > b) { a = b; return 1; } return 0; }