博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019 Multi-University Training Contest 4 - Minimal Power of Prime
阅读量:4951 次
发布时间:2019-06-11

本文共 2416 字,大约阅读时间需要 8 分钟。

乱搞

先把\(N^\frac{1}{5}\)的质数筛出来

然后在把这些质数分解,最后剩下的如果是1,就可以直接出答案了。

如果不是1,可以想到剩下的这个数不会超过某个数的4次方,因为那样就超过1e18了

所以考虑影响答案的情况,这个数可以拆成 p^4, p^3, p^2, p^2*q^2,其中p和q都是质数,且不在我们筛的范围内。

那么我们可以把剩下的这个数直接开方,因为pow的精度损失,我们取前后5的范围再把他给乘回去。

如果能够乘回到开方之前,表示是这个数可以开成这个次方,继续更新答案即可,如果4 3 2 都不能开方,拿答案就是1了,表示它本身就是个大质数。

#include 
#define INF 0x3f3f3f3f #define full(a, b) memset(a, b, sizeof a) #define __fastIn ios::sync_with_stdio(false), cin.tie(0) #define pb push_back using namespace std; typedef long long LL; inline int lowbit(int x){ return x & (-x); } inline LL read(){ LL ret = 0, w = 0; char ch = 0; while(!isdigit(ch)){ w |= ch == '-', ch = getchar(); } while(isdigit(ch)){ ret = (ret << 3) + (ret << 1) + (ch ^ 48); ch = getchar(); } return w ? -ret : ret; } inline int lcm(int a, int b){ return a / __gcd(a, b) * b; } template
inline A fpow(A x, B p, C lyd){ A ans = 1; for(; p; p >>= 1, x = 1LL * x * x % lyd)if(p & 1)ans = 1LL * x * ans % lyd; return ans; } const int N = 4005; int _; LL n; bool vis[N]; vector
p; inline void calc(){ for(int i = 2; i <= N - 5; i ++){ if(!vis[i]) p.pb(i); for(int j = 0; j < p.size() && p[j] * i <= N - 5; j ++){ vis[p[j] * i] = true; if(i % p[j] == 0) break; } } } inline LL f(LL a, int b){ LL ret = 1; while(b --) ret *= a; return ret; } inline bool solve(LL a, int p){ LL t = pow(a, 1.0 / p) + 1; t -= 5; if(t < 1) t = 1; while(f(t + 1, p) <= a) t ++; return f(t, p) == a; } int main(){ //freopen("data.txt", "r", stdin); calc(); for(_ = read(); _; _ --){ n = read(); int ret = INF; for(int i = 0; i < p.size() && p[i] <= n; i ++){ if(n % p[i] == 0){ int cnt = 0; while(n % p[i] == 0) cnt ++, n /= p[i]; ret = min(ret, cnt); } } if(n == 1) printf("%d\n", ret); else{ bool flag = false; for(int i = 4; i >= 2; i --){ if(solve(n, i)){ flag = true; ret = min(ret, i); break; } } if(!flag) printf("1\n"); else printf("%d\n", ret); } } return 0; }}

转载于:https://www.cnblogs.com/onionQAQ/p/11280485.html

你可能感兴趣的文章
delphi之模糊找图
查看>>
transitionFromViewController方法的使用
查看>>
.NET终于也沦陷了
查看>>
这个我觉得是苹果的一个严重坏影响
查看>>
shell:crontab
查看>>
v$与v_$视图 关系
查看>>
ASP.NET执行存储过程
查看>>
element-ui学习
查看>>
SQL字段的相似度
查看>>
安卓 使用LruCache 加载图片 遇到的问题
查看>>
剑指Offer——二维数组中的查找
查看>>
PHPCMS几个有用的全局函数
查看>>
css3放大效果
查看>>
Android NDK builder for Eclipse in Windows
查看>>
wildfly 在 jee war 外部写配置文件
查看>>
白牌交换机现状分析zz
查看>>
数据表示和基本运算第一弹
查看>>
用 LaTeX 排版编程技术书籍的一些个人经验
查看>>
Unity3D笔记十九 持久化数据
查看>>
TensorFlow笔记-01-开篇概述
查看>>