\(\\\)

\(Description\)


求一个能被\([1,n]\) 内所有数整除的最小数字,并对 \(100000007\) 取模

  • \(N\in [1,10^8]\)

\(\\\)

\(Solution\)


一道卡常好题 好吧是我常数太大了

考虑将限制区间内所有数质因数分解,对每一个质因子\(i\)记录下\(t_i\)表示,这个质因子在区间内任意一个数里,出现的最高幂次,那么答案就应该是每个质因子对应的最高幂之积。

质数可以线性筛 注意常数别写丑了 ,考虑如何求每一个质数的最高次幂。考虑将上限\(N\)除掉一次质因数\(p_i\),得到的数就代表原来那些含\(p_i\)的数的个数。于是一直将\(N\)除\(p_i\)至\(0\),那么合法的除的次数就是最高幂次的指数。

然后我写了个快速幂就\(T\)了......注意到迭代的同时是可以记录这个最高次幂的结果的,所以可以去掉快速幂的\(log\)复杂度虽然只快了几十毫秒依然卡着时限

\(\\\)

\(Code\)


#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 100000010
#define R register
#define mod 100000007ll
using namespace std;
typedef long long ll; bool vis[N];
int n,prm[N>>3]; inline void init(int n){
for(R int i=2;i<=n;++i){
if(!vis[i]) prm[++prm[0]]=i;
for(R int j=1,k;j<=prm[0]&&(k=prm[j]*i)<=n;++j){
vis[k]=1; if(i%prm[j]==0) break;
}
}
} inline ll qpow(ll x,ll t){
ll res=1;
while(t){
if(t&1) (res*=x)%=mod;
(x*=x)%=mod; t>>=1;
}
return res;
} int main(){
scanf("%d",&n); init(n);
R ll tmp,res,ans=1;
for(R int i=1;i<=prm[0];++i){
tmp=(ll)n; res=1;
while(tmp>=prm[i]) (res*=prm[i])%=mod,tmp/=prm[i];
(ans*=res)%=mod;
}
printf("%lld\n",ans);
return 0;
}

最新文章

  1. MVC中的Html.Partial和Html.RenderPartial
  2. Windows Path设置
  3. 提高HTML5 Canvas性能的技巧
  4. java学习面向对象之设计模式之单例模式
  5. ORACLE RAC中一个实例不能随crs自动启动的解决
  6. Putty远程登录VMware虚拟机Linux(Ubuntu12.04)
  7. Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll(转)
  8. 【百度地图API】暑假放假回老家——城市切换功能
  9. 201521123082 《Java程序设计》第13周学习总结
  10. 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
  11. cnblog 模板 SimpleMemory 个性化设置代码备份
  12. C# Math的说有函数 以及说明
  13. Model First 开发方式
  14. 洛谷 P1047 校门外的树
  15. tensorflow(1) 基础: 神经网络基本框架
  16. kylin对接hive实现实时查询
  17. weixin.com的whois信息变更为腾讯了 是准备替换weixin.qq.com吗?
  18. SQL提高查询效率【in、not in、between、like】等条件讲述
  19. idea开发工具下报Set language level to 6-@Override in interfaces的解决方法
  20. 原生JavaScript的DOM操作方法总结

热门文章

  1. 线程池之ThreadPool与ForkJoinPool
  2. HDOJ 4259 Double Dealing
  3. Jquery的运用
  4. (工具类)Linux笔记之终端日志记录工具script
  5. Lighttpd 插件mod_h264 streaming (mp4)安装
  6. Android解析程序包时出现问题
  7. android XXXActivity和getApplicationContext()差别
  8. https://security.stackexchange.com/questions/68405/what-is-tmunblock-cgi-and-can-it-be-exploited-by-shellshock-linux-apache-w
  9. Linux/Android——usb触摸屏驱动 - usbtouchscreen (一)【转】
  10. PL/SQL --&gt;隐式游标(SQL%FOUND)