博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj千题计划204:bzoj2813: 奇妙的Fibonacci
阅读量:6823 次
发布时间:2019-06-26

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

 

若j能整除i,则f[j]能整除f[i]

题目就变成了求约数个数和、约数的平方和

因为f[2]=1,所以奇数还要加上2的贡献

 

#include
#include
using namespace std;#define N 10000001typedef long long LL;const int mod=1000000007;bool vis[N];int p[664581];int t[N],c[N];int s[N],e[N];int main(){ int cnt=0; t[1]=1; s[1]=1; for(int i=2;i
=N) break; vis[i*p[j]]=true; if(i%p[j]==0) { t[i*p[j]]=((LL)t[i]*p[j]%mod*p[j]%mod+c[i])%mod; c[i*p[j]]=c[i]; s[i*p[j]]=s[i]/(e[i]+1)*(e[i]+2); e[i*p[j]]=e[i]+1; break; } t[i*p[j]]=((LL)t[i]*((LL)p[j]*p[j]+1%mod))%mod; c[i*p[j]]=t[i]; s[i*p[j]]=s[i]<<1; e[i*p[j]]=1; } } int ans1=0,ans2=0; int Q; int Qi,A,B,C; scanf("%d",&Q); scanf("%d%d%d%d",&Qi,&A,&B,&C); while(Q--) { ans1+= Qi&1; ans1+=s[Qi]; ans1-= ans1>=mod ? mod : 0; ans2+=(Qi&1)<<2; ans2+=t[Qi]; ans2-= ans2>=mod ? mod : 0; Qi=((LL)Qi*A+B)%+C+1; } cout<
<<'\n'<

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/8240918.html

你可能感兴趣的文章
翻译WifiConfiguration类
查看>>
伍雨霏-懂游戏的云服务如何保驾护航
查看>>
Lua-5.3.2 安装 luasocket 的正确姿势
查看>>
MFC界面库BCGControlBar v25.1新版亮点四:网格控件等
查看>>
ssh 连接非22端口服务器的方法:
查看>>
Linux基础入门
查看>>
org.hibernate.hql.internal.ast.QuerySyntaxException: user is not mapped
查看>>
图解排序算法之快速排序-双端探测法
查看>>
mysql
查看>>
11月15日云栖精选夜读:分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?...
查看>>
Druid数据库连接池就这么简单
查看>>
Python最假的库:Faker
查看>>
IDE 插件新版本发布,开发效率 “biu” 起来了
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石
查看>>
Redis 基础、高级特性与性能调优
查看>>
BZT52C15S资料
查看>>
Laravel Telescope入门教程(上)
查看>>
Linux配置ip 及网络问题排查
查看>>
AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)
查看>>
OSChina 周四乱弹 ——黑丝短裙java程序员同事
查看>>