Description
$T$ 组数据。给定一个正整数 $n$,用质因子乘积的形式表示为 $n = \prod {p_i}^{a_i}$,求 $\min\{ a_i \}$ 。
$(1 \leq T \leq 5 \times 10^4,1 < n \leq 10^{18})$
Source
Solution
暴力分解质因数的时间复杂度是 $O(T\sqrt{n})$,显然行不通。
一种巧妙的思路是:我们只提取出 $n$ 中所有 $\leq \sqrt[5]{n}$ 的质因子,剩下 $> \sqrt[5]{n}$ 的质因子最多只有 $4$ 个,假设它们是 $a,b,c,d$,分情况讨论,可能是
很容易发现只有 $a^2,a^3,a^4,a^2b^2$ 答案 $> 1$,其余情况不需要考虑(答案一定为 $1$),所以只需要特判是否是 完全平方数/三次方数/四次方数 。不要忘记提前筛出 $\sqrt[5]{n}$ 以内的质数,否则仍然会超时。时间复杂度为 $O(\frac{Tn^\frac{1}{5}}{\log n})$ 。
Code
1 |
|