Data structures, algorithms and useful functions extended for C++ Library
Gaussian elimination
include all CIL headers.
big integer type, the constant MAX_LEN represents the upper bound of bit_int, it's 10^(4 * MAX_LEN).
1 dimension and 2 dimension binary index tree. BIT and BIT2 subscript start from 1, while BIT0 and BIT02 start from 0.
bisection algorithm to get max/min value which satisfies a specified unary predicate.
bit operations for integer types, like lowbit, setbit, resitebit, cntbit, reversebit. and some combinatorics method in bits, like generate and traverse subsets or combinations.
familiar with bitset in STL, but the length of this is mutable.
configure to fit for all platforms and compilers.
macro definitions and type defines.
combinatorics methonds.
watch function, output variable name as well as it's value.
plus, subtract and multiply functional class with modulo, maxone, minone etc.
line, point, circle types, Graham scan algorithm, convex hull trick, polygon area calculate etc.
another big integer type, but implemented with string.
quick io method, RD, RDB, WR for integers, IN, OUT for all types.
square matrix.
number theory methods.
operator << overload for all container types and pair type.
different sort functions or sort related functions.
sparse table to solve range max, min, sum, product or specified function queries.
string or sequence problems, like edit distance, LIS, LCS etc.
extended functions for string type, like split, strip etc.
priority_queue like, but elements in it could be changed.
3 elements quick type.