[BZOJ2813]奇妙的Fibonacci(线性筛)

【制作100个unity游戏之22】3DRPG游戏开发01——项目的设置和导入及渲染管线的安装修复 如果你现在存在一些疑惑unity导入素材为什么是粉紫色的?表示他没有适配我们的URP通用渲染管线,要如何适配呢?素材渲染错误丢失要如何解决?如果你有上面3个任意的问题,那这篇文章同样适合你,我将手把手教你如何安装修复渲染管线,看完你就了解了!在Unity中,他们都是渲染管线,它们的主要区别在于性能和功能。LWRP是早期版本的URP,它专门为移动设备和低端PC设计,旨在提供更高的性能。它使用基于顶点的光照和简化的后处理效果,可以在更低的硬件要求下运行。 阅读详情

=== ===

这里放传送门

=== ===

题解

通过打表找规律某种神秘的启示可以发现: Fj|Fi⇒j|i
那么问题就变成了求约数个数还有约数平方和的问题
这两个东西都是可以线筛的
约数个数好办,和BZOJ1968的方法是一样的。
对于约数平方和,我们仍然考虑线筛三步走。
当x是质数的时候,它的约数的平方和就是 x2+1 ,因为它只有 x 和1两个约数。
当已知f(x)的时候,对x加入一个它原来没有的质因子 prm 。这个时候用所有原来的约数乘上 prm 就构造出了一批新约数。原来的约数的平方和就是 f(x) ,而新约数的平方和显然就是 f(x)∗prm2 。总之,当 x 中没有prm这个质因子的时候,f(x∗prm)=f(x)∗(prm2+1)=f(x)∗f(prm)。
如果 x 原来就有prm这个质因子,就不能直接把所有 x 的因子乘上prm来构造新的约数了,因为这样可能会构造出 x 原来已经有的约数。设x去掉最小质因子的部分是 g(x) ,显然 g(x) 中一定不含有带 prm 的约数,所以可以先用 x 中所有约数乘上prm构造出含有 prm 的约数,再接收 f(g(x)) 来累加所有不含 prm 的约数。那么也就是当 x%pom=0 的时候, f(x)=f(g(x))+f(x)∗prm2 。

代码

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const long long Mod=1000000007;
int m,q,a,b,c,prm[10000010],e[10000010],g[10000010];
long long f[10000010],d[10000010],A,B;
bool ext[10000010];
void get_prime(int N){
    f[1]=d[1]=1;
    for (int i=2;i<=N;i++){
        if (ext[i]==false){
            prm[++prm[0]]=i;
            d[i]=2;e[i]=1;g[i]=1;
            f[i]=((long long)i*i+1)%Mod;
        }
        for (int j=1;j<=prm[0];j++){
            if ((long long)i*prm[j]>N) break;
            ext[i*prm[j]]=true;
            if (i%prm[j]==0){
                e[i*prm[j]]=e[i]+1;
                d[i*prm[j]]=(long long)d[i]/(e[i]+1)*(e[i]+2);
                g[i*prm[j]]=g[i]%Mod;
                f[i*prm[j]]=(f[g[i]]+(long long)f[i]*prm[j]%Mod*prm[j]%Mod)%Mod;
                break;
            }else{
                e[i*prm[j]]=1;
                d[i*prm[j]]=d[i]*d[prm[j]];
                g[i*prm[j]]=i%Mod;
                f[i*prm[j]]=(f[i]+(long long)f[i]*prm[j]%Mod*prm[j]%Mod)%Mod;   
            }
        }
    }
}
int main()
{
    scanf("%d%d%d%d%d",&m,&q,&a,&b,&c);
    get_prime(c);
    for (int i=1;i<=m;i++){
        long long tmp;
        tmp=d[q]+((q&1)?1:0);
        A=(A+tmp)%Mod;
        tmp=f[q]+((q&1)?4:0);
        B=(B+tmp)%Mod;
        q=((long long)q*a+b)%c+1;
    } 
    printf("%I64d\n%I64d\n",A,B);
    return 0;
}

偏偏在最后出现的补充说明

找规律大法好

基于深度学习的道路裂缝检测系统完整教程 本文介绍了一种基于深度学习的道路裂缝检测系统完整解决方案。项目采用5466张高质量道路裂缝图像数据集,包含YOLO和Pascal VOC两种标注格式,覆盖多种道路场景。系统利用CNN和YOLO算法实现高效检测,相比传统人工巡检显著提升效率和准确性。文中详细阐述了数据集结构、环境配置和训练流程,包括数据预处理、智能分割策略和质量检查方法。该技术可及时发现道路裂缝隐患,降低维护成本,保障交通安全,为道路养护提供智能化解决方案。 阅读详情

相关推荐

手把手教你用STM32硬件SPI驱动BMI088陀螺仪(附完整代码)

本文提供了一份详尽的STM32硬件SPI驱动BMI088陀螺仪的实战指南。内容涵盖从硬件连接、SPI底层配置、驱动层封装到设备初始化、数据读取与同步策略,并深入探讨了数据处理、滤波融合及温度补偿等核心技巧,旨在帮助开发者构建稳定高效的IMU驱动框架,解决BMI088应用中常见的挑战。

quiet的专栏 529

bzoj #2813.奇妙的Fibonacci 题解

题目传送门 题目大意: 令 fif_ifi​ 为斐波那契数列第 iii 项,问有多少个 jjj 满足 fj∣fif_j|f_ifj​∣fi​,并求出 jjj 的平方和。 题解 fj∣fif_j|f_ifj​∣fi​ 等价于 gcd⁡(fi,fj)=fj\gcd(f_i,f_j)=f_jgcd(fi​,fj​)=fj​,而斐波那契有个神奇的结论:gcd⁡(fi,fj)=fgcd⁡(i,j)\gcd(f_i,f_j)=f_{\gcd(i,j)}gcd(fi​,fj​)=fgcd(i,j)​,代入进去就是 fgc

a_forever_dream的博客 305

IOS APP上架被拒 4.3(a) - Design - Spam,成功

成功解决IOS APP上架被拒 4.3(a) - Design - Spam,本篇博客记录了详细过程

qq_40147106的博客 6909

[BZOJ2813]奇妙的Fibonacci(数论)

互测第一次A题QAQ

zyf2000 991

ResNet理论基础与具体实现(详细教程)

论文地址:Deep Residual Learning for Image Recognition ​ Identity Mappings in Deep Residual Networks pytroch源码地址:resnet 0x00 前言 ResNet是2015年就提出的网络结构,中文名字叫作深度残差网络,主要作用是图像分类。现在在图像分割、目标检测等领域都有很...

coordinate的博客 8332

ZynqMP双核通信避坑指南:Linux驱动+裸机固件协同开发实录

本文详细解析了Xilinx ZynqMP芯片中APU与RPU双核通信的技术实现,重点介绍了通过IPI中断实现Linux驱动与裸机固件协同开发的实战经验。内容涵盖硬件寄存器配置、Linux驱动开发、RPU裸机程序编写以及双核调试技巧,为开发者提供了一套完整的工程化解决方案,帮助规避常见开发陷阱。

weixin_29168153的博客 126

bzoj 2813 奇妙的Fibonacci (线性筛求约束平方和)

2813: 奇妙的Fibonacci Time Limit: 20 Sec  Memory Limit: 512 MB Submit: 369  Solved: 87 [Submit][Status][Discuss] Description Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 . . . Fi = Fi-1 + Fi

clover_hxy的博客 511

Windows本地化部署Dify完整指南

本文详细介绍了在Windows系统上本地化部署Dify的完整步骤,涵盖了Docker Desktop的安装与配置、Dify源代码的获取、环境变量的设置、服务的启动与管理、以及常见问题的解决方案。文章首先指导用户如何下载和安装Docker Desktop,并配置WSL 2功能。接着,详细说明了如何获取Dify源代码,并通过Docker Compose启动服务。文章还提供了高级配置指南,包括如何配置大语言模型和更新Dify版本。最后,针对Docker镜像拉取失败等常见问题,提供了详细的诊断和解决方案。通过本文,

jacky_zhuyuanlu的博客 1万+

BZOJ 2813 奇妙的Fibonacci

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2813题意: 定义Fibonacci数列为F1=1,F2=1,Fi=Fi−1+Fi−2(i>=3)F_1=1,F_2=1,F_i=F_{i-1}+F_{i-2}(i>=3)。 对于某一个数F_i,求有多少个F_j能够整除F_i (i可以等于j),以及所有满足条件的j的平方之和。询问

skywalkert's space 1777

分布式数据采集框架openclaw-worker:模块化设计与实战指南

数据采集是获取网络信息、实现自动化处理的基础技术,其核心原理是通过模拟HTTP请求从目标源提取结构化数据。在工程实践中,传统单体脚本面临维护困难、扩展性差等挑战。分布式采集架构通过解耦任务定义与执行,结合消息队列实现水平扩展,显著提升了系统的弹性与可靠性。openclaw-worker作为模块化的工作节点,将采集流程配置化,支持CSS选择器、XPath等多种提取规则,并集成请求速率控制、代理IP池等反爬策略,适用于竞品监控、内容聚合等需要高效、稳定获取数据的应用场景。

weixin_28706423的博客 299

【深度学习|语义分割之UNet】如何使用ResNet50 作为 U-Net 网络的骨干网络(backbone)并使用预训练的 ResNet50 模型。附代码及解读。

【深度学习|语义分割之UNet】如何使用ResNet50 作为 U-Net 网络的骨干网络(backbone)并使用预训练的 ResNet50 模型。附代码及解读。

985小水博的摸鱼日常 3091

BZOJ 2813 奇妙的Fibonacci 线性筛

题目大意:给定i,求斐波那契数列中有多少F[j]是F[i]的约数,以及这些j的平方和 定理:Gcd(F[i],F[j])=F[Gcd(i,j)] 证明见 http://hi.baidu.com/wyl8899/item/b4ed30e6b9f404acce2d4f68 那么当F[j]|F[i]时,必有Gcd(F[j],F[i])=F[j] 则此时F[Gcd(j,i)]=F[j] 若Gcd

世界 1699

三模冗余、纠错编码、单粒子翻转防护

本文探讨了高可靠性FPGA系统设计的三大关键技术:三模冗余(TMR)、纠错编码(ECC)和单粒子翻转(SEU)防护。TMR通过三个并行模块和表决器实现容错,但会增加硬件资源和功耗;ECC利用汉明码等编码方式检测和纠正数据错误,适用于存储器保护;SEU防护则针对高能粒子引发的位翻转问题,采用配置刷新、TMR和ECC等方法。文章还通过Verilog代码示例展示了这些技术的实现,并提出了一个综合应用案例,结合三种技术构建高可靠性控制系统。这些技术在航空航天、医疗设备等关键领域具有重要应用价值。

2301_79143213的博客 715

bzoj 2813: 奇妙的Fibonacci 数学+线性筛

题意Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 … Fi = Fi-1 + Fi-2 (当 i >= 3) pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi, 有多少个Fj能够整除Fi (i可以等于j),他还想知道所有j的平方之和是多少。答案模1e9+7。 第一行一个整数Q,表示Q个询问。 第二行四个整数:

beginend 378

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Bzoj 2813 奇妙的Fibonacci (线性筛)

题目大意: 题目链接 (来源) 解题思路: 在做这道题之前,首先要知道Fgcd(i,j)=gcd(Fi,Fj)(j>i)(0)F_{gcd(i,j)}=gcd(F_i,F_j)(j>i)(0)Fgcd(i,j)​=gcd(Fi​,Fj​)(j>i)(0) 证明如下: 先证明Fn=Fk∗Fn−k+1+Fn−k(1)F_n=F_k*F_{n-k+1}+F_{n-k}(1)Fn​=Fk​∗Fn−k+1​+Fn−k​(1)    Fn=Fn−1+Fn−2F_n=F_{n-1}+F_{n-2}Fn

trouble_的博客 285

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【欧拉筛/线性筛】BZOJ2813 奇妙的Fibonacci

题面在这里一道很好的数论题……让人思考很多……参考博客:斐波那契数列的性质 首先有这个公式: n|m⇔fn|fmn|m\Leftrightarrow f_n|f_m 那么题目就转化为:询问i有多少个因子,以及所有因子的平方和可以用欧拉筛一边处理一边统计: eie_i表示i的最小质因数的次数 did_i表示i除去最小质因数后的数 gig_i表示i的因子个数 fif_i表示i的因子的平方和

linkfqy 870

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

BZOJ 2813: 奇妙的Fibonacci 线性筛

2813: 奇妙的Fibonacci Time Limit: 20 Sec  Memory Limit: 512 MB Submit: 536  Solved: 152 [Submit][Status][Discuss] Description Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 . . . Fi = Fi-1 + Fi-2

BlackJack 598

【bzoj2813】奇妙的Fibonacci 线性筛法

斐波那契数列有个性质 f[gcd(i,j)]=gcd(f[i],f[j]) f[j]|f[i]=>gcd(f[j],f[i])=f[j]=>f[j]=f[gcd(i,j)] 当j=gcd(i,j)时 所以ai表示qi的约数个数 bi表示qi的约数的平方和 设i=πpi^ki,则ai=π(ki+1) 因为i只会被i/p1筛一次,p1表示i最小的质因数 所以我们考虑怎样从i/p1转移到

Oxer的专栏 777

【BZOJ2813】奇妙的Fibonacci(结论,线性筛)

结论:fj∣fif_j|f_ifj​∣fi​ 等价于 j∣ij|ij∣i。 证明:(来自DTZ巨佬) 于是询问就变成了求一个数的因数个数和因数的平方和。 设 x=p1k1p2k2⋯pmkmx=p_1^{k_1}p_2^{k_2}\cdots p_m^{k_m}x=p1k1​​p2k2​​⋯pmkm​​。 那么 xxx 的因数个数为 ∏i=1m(ki+1)\prod\limits_{i=1}^m(k_i+1)i=1∏m​(ki​+1),因数平方和为 ∏i=1m∑j=0kipi2j\prod\limits_{

ez_lcw的博客 201

[bzoj2813]奇妙的Fibonacci数列 (数论+线性筛)

感觉数论的证明就是很扯的东西。他们说是对的就是对的

薇小薇 842

bzoj 2813 奇妙的Fibonacci

题意:设f为fibonacci数列,询问使得f[j]能整除f[i]的j的个数以及j^2的和。3e6个询问,1 <= i <= 1e7 由定义,f[1] = f[2] = 1,f[i] = f[i-1] + f[i-2] 下面用数学归纳法证明gcd(f[i], f[i-1]) == 1 (1) i = 2时,显然gcd(f[i], f[i-1]) == 1成立。 (2) i > 2...

已迁移至 https://seekstar.github.io/ 268

BZOJ2813--奇妙的斐波那契【线性筛】【斐波那契数列】

DescriptionFibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 … Fi = Fi-1 + Fi-2 (当 i >= 3) pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi, 有多少个Fj能够整除Fi (i可以等于j),他还想知道所有j的平方之和是多少。题解由斐波那契的性质得: 当i,j>2,f[i]|f[

Sdywolf的博客 653

BZOJ 2813: 奇妙的Fibonacci

2813: 奇妙的Fibonacci Time Limit:20 SecMemory Limit:512 MBSubmit:497Solved:134[Submit][Status][Discuss] Description Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 . . . Fi = Fi-1 + F...

weixin_30752377的博客 118

【BZOJ2813】奇妙的Fibonacci

Description    ​  Fibonacci数列是这样一个数列:      F1 = 1, F2 = 1, F3 = 2 . . .      Fi = Fi-1 + Fi-2 (当 i >= 3)    ​  pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi,      有多少个Fj能够整除Fi (i可以等于j),他还想知道所有j的平方之和...

weixin_30570101的博客 114
上一篇: [BZOJ3168][Heoi2013]钙铁锌硒维生素(矩阵求逆+二分图匹配)
下一篇: [BZOJ2653]middle(主席树+二分)
FromATP
博客等级 码龄10年 75粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值