题目链接:https://ac.nowcoder.com/acm/contest/3007/E
题目大意:
我们要求最大的A。
我们根据唯一分解定理:
N=e1p1∗e2p2∗e2p2∗e2p2∗...ekpk
那么
如果pi%3==0那么A∗=ei∗(pi/3)
现在我们就是要
枚举ei来得到A
我们发现
ei的最大值为N1/3
我们枚举
N1/3里的素数那么复杂度是O(TN(1/3)/ln(N(1/3)))
我们可以进一步优化:
如果枚举到N1/4,那么我们把N在N1/4里的素数全部筛出后得到X
那么X的形式为ep∗B,并且e,B>N1/4,那么可以知道:p<4。如果p>=4那么ep∗B>N
1:p=3那么B一定等于1证明N3/4∗B,而且B>N1/4那么N3/4∗B>N不可能,所以B=12:p<3那么ei对结果没有贡献
所以我们枚举N1/4的素数,复杂度:O(TN(1/4)/ln(N(1/4)))
在这里插入代码片