基础算法四 - 数学基础

1. 求1 ~ n中约数的个数

基础算法四 - 数学基础

 

2. 字符串hash

P = 131 或 13331

数组int[] h, p

h[i] 为字符串hash值的前缀和    h[i] = h[i - 1] * P + w.charAt(i - 1);  // w.charAt(i - 1)实际上是第i个字符

p[0] = 1;   p[i] = p[i - 1] * P;

cong下标L到R的字符串的hash值为: h[R] - h[L - 1] * p[R - L + 1];

欧拉函数

对于正整数nn,欧拉函数是小于或等于n的正整数中与nn互质的数的数目,记作φ(n).
φ(1)=1

互质 指的是两个数的最大公约数是1

基础算法四 - 数学基础

基础算法四 - 数学基础