博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
某谷 P5153 简单的函数
阅读量:4622 次
发布时间:2019-06-09

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

 

    个人感觉这个题可以被打表随便艹过,当然我不是这么做的。。。

    虽然n可达10^18,但随便分析一下就可以发现f(n)是极小的,因为f(n)一步就可以跳到f(前100),不信你算一下前100个数的最小公倍数。。

    所以可以暴力算出前100个数的f()之后直接用贡献乘起来就行了,不过还有一些小细节。

 

#include
#define ll long longusing namespace std;const int ha=1000000007,N=105,mi=ha-1;const ll inf=1e18;inline int ksm(int x,int y){ int an=1; for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha; return an;}ll gcd(ll x,ll y){ return y==0?x:gcd(y,x%y);}int f[N],ans=1;ll n,now=1,nxt;inline void init(){ f[2]=1; for(int i=3;i<=100;i++) for(int j=2;;j++) if(i%j){ f[i]=f[j]+1; break;}}inline void solve(){ for(int i=2,d;nxt<=inf;now=nxt,i++){ d=gcd(now,i); if(n/((ll)i/d)

  

转载于:https://www.cnblogs.com/JYYHH/p/10297262.html

你可能感兴趣的文章
springboot项目使用idea开启远程调试
查看>>
Author Agreement
查看>>
OO第一次博客作业
查看>>
netty4 HTTPclient 可添加参数
查看>>
FusionChart实现柱状图、饼状图的动态数据显示
查看>>
检查结果
查看>>
并行执行任务 Stat-Job
查看>>
Kail Linux渗透测试培训手册3第二章信息采集
查看>>
HDU 1010 Tempter of the Bone heuristic 修剪
查看>>
Django报错:__init__() missing 1 required positional argument: 'on_delete'
查看>>
2017秋软工 —— 本周PSP
查看>>
MongoDB执行计划分析详解
查看>>
盒子居中
查看>>
日志查找排序统计
查看>>
新个人博客
查看>>
goroute应用-模拟远程调用RPC
查看>>
Redis入门
查看>>
js对象的深度克隆
查看>>
java通过反射了解集合泛型的本质
查看>>
plsql程序中循环语句的使用
查看>>