[数学杂题] LibreOJ #530「LibreOJ β Round #5」最小倍数
来源:互联网 发布:淘宝首页怎么加载数据 编辑:程序博客网 时间:2024/05/21 00:20
首先显然每个质数是独立的,对于
对于一个质数,算满足它至少出现
考虑把
然后就贪心的从高位到低位填即可,每次填保证之后合法的最小值。
这样就是
#include<cstdio>#include<cmath>#include<algorithm>using namespace std;typedef long long LL;const int maxn=555;int N=550,n,m,b[maxn],p[maxn];LL ans,a[maxn];bool vis[maxn];void Pre(){ for(int i=2;i<=N;i++){ if(!vis[i]) p[++p[0]]=i; for(int j=1;j<=p[0]&&(LL)i*p[j]<=N;j++){ vis[i*p[j]]=true; if(i%p[j]==0) break; } }}LL pw[maxn],w[maxn],sum_w[maxn];LL Solve(int prm,LL m){ LL res=0; int _max; w[1]=sum_w[1]=_max=1; pw[0]=1; pw[1]=prm; for(int i=2;i<=70;i++){ pw[i]=pw[i-1]*prm; w[i]=w[i-1]+pw[i-1], sum_w[i]=sum_w[i-1]+w[i], _max=i; if(sum_w[i]*(prm-1)>m) break; } for(int i=_max;i>=1;i--){ if(sum_w[i-1]*(prm-1)>=m) continue; int now=(m-sum_w[i-1]*(prm-1)+w[i]-1)/w[i]; res+=pw[i]*now; m-=now*w[i]; } return res;}int _test;int main(){ freopen("loj530.in","r",stdin); freopen("loj530.out","w",stdout); Pre(); scanf("%d",&_test); while(_test--){ scanf("%d",&m); for(int i=1;i<=m;i++) scanf("%lld",&a[i]); ans=1; for(int i=1;i<=m;i++) ans=max(ans,Solve(p[i],a[i])); printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- [数学杂题] LibreOJ #530「LibreOJ β Round #5」最小倍数
- [数学杂题] LibreOJ#532. 「LibreOJ β Round #5」随机数列
- LibreOJ #505.「LibreOJ β Round」ZQC 的游戏 网络流
- LibreOJ #504. 「LibreOJ β Round」ZQC 的手办 线段树+堆
- [结论] LibreOJ #520. 「LibreOJ β Round #3」绯色 IOI(开端)
- [匹配+拓扑] LibreOJ #521. 「LibreOJ β Round #3」绯色 IOI(抵达)
- [分块+并查集按秩合并]#519. 「LibreOJ β Round #2」数学上来先打表
- LibreOJ β Round #3
- 「LibreOJ β Round #2」DP 一般看规律
- loj#526. 「LibreOJ β Round #4」子集
- [LibreOJ β Round #4]游戏
- [LibreOJ β Round #4]多项式
- [LibreOJ β Round #4]子集
- [LibreOJ β Round #4]框架
- [LibreOJ β Round #4]求和
- LibreOj
- #507. 「LibreOJ NOI Round #1」接竹竿 dp
- 「LibreOJ β Round #2 D题」计算几何瞎暴力 Trie树整体xor的trick
- linux getopt()使用
- web.xml配置
- Android 好看的自定义滚动式日期选择控件
- 金蝶K3工程变更操作指南
- C\C++最长回文子串
- [数学杂题] LibreOJ #530「LibreOJ β Round #5」最小倍数
- Phpstorm 常用快捷键
- ANSI Common Lisp译本笔记8
- Linux下查看tomcat的版本信息
- Construct2 初体验
- MFC鼠标获取DEMO
- JavaScript学习注意点
- python中的深拷贝与浅拷贝
- 一个类的成员函数声明为另一个类的友元函数