社区讨论

萌新求助素数整除分块

学术版参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo9367r7
此快照首次捕获于
2023/10/28 04:49
2 年前
此快照最后确认于
2023/10/28 04:49
2 年前
查看原帖
萌新遇到这样一个整除分块,如以下伪代码,r=mpπ(ml)r=\left\lfloor\dfrac{m}{p_{\pi(\frac{m}{l})}}\right\rfloor,请问它的时间复杂度是多少?这里蒟蒻得到一个下界为O(mlogm)O(\sqrt{\frac{m}{logm}}),经测试实际增长速率比这慢,不知道是否可以达到O(mlogm)O(\frac{\sqrt{m}}{logm})?望大佬解答qwq
CPP
i64 n;
sieve(sqrt(n));
//What is the time complexity of the following code?
i64 m = pow(n, 0.7); // pow(n, 2/3) <= m <= pow(n, 3/4)
int _v = sqrt(m);
for (int l = m / sqrt(n) + 1, r; l <= _v; l = r + 1) r = m / primes[pi[m / l]];

回复

2 条回复,欢迎继续交流。

正在加载回复...