[CQOI2016]伪光滑数

伪光滑数

题解

延续了CQOI**的传统,不过现在是联考了。

很容易发现,这个数为a_{k}^{k}时是最大的,其他的不是全部公因子都为a_{k}的一定会比它小,毕竟a_{k}^{k}\leq n

所以我们可以先把所有为a_{i}^{i}的数给预处理出来,之后再一个个替换它的质因数,一直枚举到2即可。

源码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#include<map>
using namespace std;
typedef long long LL; 
#define int LL
#define gc() getchar()
template<ty
posted @ 2020-01-19 22:31  StaroForgin  阅读(9)  评论(0)    收藏  举报  来源