当前位置: 首页 > news >正文

U703133 惊鹊 出题报告

题面:https://www.luogu.com.cn/problem/U703133

题目从何而来?

这堆破玩意的原题是这样的:

\(T\) 组数据,设斐波那契数列 \(\{F_n\}\),众所周知有个定理是 \(F_d|F_{nd}\),求 \(k\pmod m\) 使得 \(kF_d\equiv F_{nd}\pmod m\)。不保证 \(F_d\)\(m\)​ 有逆元。

\[1\leq T\leq10^5,1\leq n,d,m\leq 10^9 \]

结论1:

\[F_{a+b}=F_{a+1}F_b+F_{a}F_{b-1} \]

可以用二元归纳法证明,至于怎么正着推我特么怎么知道。

拆一下:

\[F_{nd}=F_{(n-1)d+1}F_d+F_{(n-1)d}F_{d-1}\\ F_{(n-1)d}=F_{(n-2)d+1}F_d+F_{(n-2)d}F_{d-1}\\ 则F_{nd}=(F_{(n-1)d+1}+F_{d-1}F_{(n-2)d+1})F_d+F_{d-1}^2F_{(n-2)d} \]

以此类推

\[F_{nd}=F_d\sum_{i=0}^{n-1}F_{d-1}^iF_{(n-i-1)d+1} \]

有点毒瘤啊

做法

所以这东西跟卷积毫无关系。

下面是我跟 gemini 老师学的,我只会推出来这个烂题但我不会做(

我们知道斐波那契递推矩阵是这样的:

\[A = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}\\ A^k = \begin{pmatrix} F_{k+1} & F_k \\ F_k & F_{k-1} \end{pmatrix} \]

\[A^{(n-i-1)d} = \begin{pmatrix} F_{(n-i-1)d+1} & F_{(n-i-1)d} \\ F_{(n-i-1)d} & F_{(n-i-1)d-1} \end{pmatrix} \]

那么

\[X=\sum_{i=0}^{n-1}F_{d-1}^iA^{(n-i-1)d}\\ \]

\(X_{0,0}\pmod m\)就是答案。

发挥极致的注意力:

\[A^d=\begin{pmatrix} F_{d+1} & F_d \\ F_d & F_{d-1} \end{pmatrix}=\begin{pmatrix} F_{d} & F_d \\ F_d & 0 \end{pmatrix}+\begin{pmatrix} F_{d-1} & 0 \\ 0 & F_{d-1} \end{pmatrix}=F_dA+F_{d-1}I \]

则得到一个非常神奇的恒等式:

\[A^d-F_dI=F_dA \]

注意到 \((x^n+y^n)=(x-y)(\sum_{i=0}^{n-1}x^iy^{n-1-i})\),容易观察到与上面相像,代回 \(X\) 的定义式:

\[(A^d-F_dI)X=A^d-F_dI\sum_{i=0}^{n-1}F_{d-1}^iA^{(n-i-1)d}\\ F_dAX=A^n-F_{d-1}^nI \]

根据矩阵乘法规则,\((AX)_{1,0}=X_{0,0}\times A_{0,1}+X_{0,1}\times A_{1,1}=X_{0,0}\),又有\((A^n-F_{d-1}^nI)_{1,0}=A^n_{0,0}=F_{nd}\)

这就推回来了:

\[X_{0,0}\equiv \frac{F_{nd}}{F_{d}} \pmod m \]

不保证存在对 \(m\) 的逆元,那么这个怎么做呢?

结论2:

\[F_{nd} = L_d F_{(n-1)d} - (-1)^d F_{(n-2)d},其中L_d 为第d个Lucas数,L_d = F_{d-1} + F_{d+1} \]

\(F_d\) 是常数,设 \(U_d=\frac{F_{nd}}{F_{d}}\),它也必然满足 \(U_{nd} = L_d U_{(n-1)d} - (-1)^d U_{(n-2)d}\)

容易构造矩阵,注意在模 \(m\)\(-(-1)^d\) 不能直接填进去,设 \(C=-(-1)^d\bmod m\)

\[\begin{pmatrix} U_n \\ U_{n-1} \end{pmatrix} = \begin{pmatrix} L_d & C \\ 1 & 0 \end{pmatrix}^{n-1} \begin{pmatrix} 1 \\ 0 \end{pmatrix} \]

两次矩阵快速幂,时间复杂度 \(O(T(\log n+\log d))\)

http://www.jsqmd.com/news/1189336/

相关文章:

  • 利用Java注解驱动开发简化外卖霸王餐API接口的入参校验与文档生成
  • 大萨达大大阿达
  • 如何通过Wand-Enhancer完全解锁游戏修改器的专业功能:完整技术指南
  • 【NLP实战】02 基于 Jieba 与 Word2Vec 的垂直领域关键词库自动化构建与优化
  • Hot 100 --- 二叉树的层序遍历
  • Fable 5与GPT 5.6组合:规划-执行模式下的Token优化实践
  • GO_面向对象---匿名字段
  • leetcode刷题笔记(中等)1291顺次数
  • YOLOv8模型从训练到ONNX部署全流程实战指南
  • STM32与PAM8124构建高保真音频放大系统
  • APK Installer:在Windows上高效安装Android应用的3大创新设计
  • 基于混沌理论的图像加密算法设计与Python实现
  • 2026年7月最新南京积家官方售后客服电话及服务网点地址查询 - 积家官方售后服务中心
  • YOLOv12骑手头盔检测系统:技术解析与工程实践
  • Java Stream API与Lambda表达式在外卖CPS订单批量处理中的高效应用模式
  • Python 30 分钟速通:AI 开发用到的语法就够了
  • 计算机毕业设计之jsp网吧管理系统
  • 一个网站删掉1400万人的照片,他花十年做了一把钥匙
  • C++函数对象与Lambda表达式:从基础原理到STL实战应用
  • YOLOv8热成像人员检测:从原理到实战的全流程指南
  • 深入理解 JavaScript 表单与焦点事件:从基础到实战
  • 帝舵中国官方售后服务中心|服务热线及门店详细地址权威信息公告(2026年7月最新) - 帝舵中国官方服务中心
  • Hugging Face:AI开发者的模型库与工具链全解析
  • 30岁后转行AI大模型的实战指南与职业突围策略
  • Ubuntu Touch Linux mobile OS | Waydroid for Android app
  • 上海AI软件定制公司有哪些?先看场景,别一上来就谈模型
  • STM32与PAM8904实现智能分级警报系统设计
  • 企业想选靠谱商用AI数字人系统?2026年主流产品怎么选
  • MOOC数据科学课程完课率低的真相:课程设计错配学习规律
  • 终极远程桌面游戏手柄解决方案:5分钟实现Xbox手柄远程控制