摘要:最大公约数GCD 整数a和b的最大公约数记为gcd(a,b) <1 经典的欧几里得算法,辗转相除法 int gcd(int a, int b){ return b == 0 ? a : gcd(b, a%b); } <2 C++内置函数 std::__gcd(a,b) 最小公倍数LCM 整数a和b的
阅读全文
摘要:模运算 /定义 取模运算为a除以m的余数,记为:a mod m = a % m 取模的结果满足0 ≤ a mod m ≤ m-1,题目用给定的m限制计算结果的范围。例如m=10,输出结果为原数的个位 /性质 加:( a + b ) mod m = (( a mod m ) + ( b mod m )
阅读全文
摘要:Treap是一棵拥有键值、优先级两种权值的树 struct node{ int size;//以这个结点为根的子树的结点总数量,用于名次树 int rank;//优先级 int key;//键值 node *son[2];//son[0]是左儿子,son[1]是右儿子 bool operator<(
阅读全文