摘要:
倍增:将线性级转换成对数级,降低时间复杂度 只考虑二的整数幂次,缩小查询范围。 运用: 1.快速幂:算n的m次方,log(n) 递推法: int ans = 1; while (n) { if (n & 1) ans *= a; a *= a; n >>= 1; } 2.RMQ问题:n个数字m次询问 阅读全文
摘要:
2022-02-23 1.素数问题:求小于n的所有素数 1.暴力枚举法:O(n 根号n) n的质数的平方小于n 判断素数方法——从2到根号n遍历判断。 for (int i = 2;i * i <= j;i++) if (j % i == 0) flag = 1; 2.筛法求素数:O(n logn 阅读全文