Skip to content

Latest commit

 

History

History
13 lines (11 loc) · 995 Bytes

README.md

File metadata and controls

13 lines (11 loc) · 995 Bytes

DP

library for DP

bit DP

bit.hpp
部分集合に関する更新の高速化
verify: AtCoder(Or Plus Max)
verify: AOJ(Enumeration)

function arguments return description complexity
fast_zeta<T> vector<T> &f vector<T> 高速ゼータ変換
$\displaystyle f(U) = \sum_{U\in T}f(T)$.
For $\displaystyle f(U) = \sum_{T\in U}f(T)$, use $f[j \vert i] += f[j]$
$O(2^n n)$ , $n$: 全体集合のサイズ
fast_moebius<T> vector<T> &f vector<T> 高速メビウス変換
$\displaystyle f(U) = \sum_{U\in T}(-1)^{|T\setminus U|}f(T)$.
For $\displaystyle f(U) = \sum_{T\in U}(-1)^{|U\setminus T|}f(T)$, use $f[j \vert i] -= f[j]$
$O(2^n n)$, $n$: 全体集合のサイズ