传送门
把每一个数
a
a
a质因数分解。
假设
a
=
p
1
a
1
∗
p
2
a
2
∗
.
.
.
∗
p
k
a
k
a=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}
a=p1a1∗p2a2∗...∗pkak
然后可以转化成
a
′
=
p
1
a
1
m
o
d
3
∗
p
2
a
2
m
o
d
3
∗
.
.
.
∗
p
k
a
k
m
o
d
3
a'=p_1^{a_1mod3}*p_2^{a_2mod3}*...*p_k^{a_kmod3}
a′=p1a1mod3∗p2a2mod3∗...∗pkakmod3
然后可以找到另外一个不含立方因子的
b
b
b使得
a
∗
b
a*b
a∗b是一个立方数。
显然
(
a
,
b
)
(a,b)
(a,b)这一对数我们最多只能选其中一个。
因此贪心选就行了。
代码
2018.10.31 NOIP模拟 一串数字(数论+贪心)
最新推荐文章于 2021-06-14 22:54:33 发布