news 2026/4/14 12:34:16

信息学奥赛一本通 1615:【例 1】序列的第 k 个数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
信息学奥赛一本通 1615:【例 1】序列的第 k 个数

【题目链接】

ybt 1615:【例 1】序列的第 k 个数
本题的a 、 b 、 c a、b、cabc,等差数列公差、等比数列的公比都为整数。

【题目考点】

1. 快速幂

相关知识见:洛谷 P1226 【模板】快速幂

2. 等差数列

相邻两项的差相等的数列为等差数列。
设第i ii项为a i a_iai,公差为d dd
等差数列的递推公式:a i = a i − 1 + d a_i = a_{i-1}+dai=ai1+d
等差数列的通项公式:a i = a 1 + ( i − 1 ) d a_i = a_1+(i-1)dai=a1+(i1)d

3. 等比数列

相邻两项的比值相等的数列为等比数列。
设第i ii项为a i a_iai,公比为q qq
等比数列的递推公式:a i = a i − 1 q a_i = a_{i-1}qai=ai1q
等比数列的通项公式:a i = a 1 q i − 1 a_i = a_1q^{i-1}ai=a1qi1

【解题思路】

M = 200907 M=200907M=200907
每组数据,输入了数列的前三项
先判断第二项减第一项的值,与第三项减第二项的值是否相等,即是否有b − a = c − b b-a=c-bba=cb
如果满足该情况,则该数列相邻两项的差相等,是等差数列。否则就是等比数列。

  • 如果该数列是等差数列,则公差为b − a b-aba,使用通项公式求等差数列第k kk项,再对M MM取模:a k m o d M = ( a 1 + ( k − 1 ) d ) m o d M = ( a + ( k − 1 ) ( b − a ) ) m o d M a_k\bmod M=(a_1+(k-1)d)\bmod M=(a+(k-1)(b-a))\bmod MakmodM=(a1+(k1)d)modM=(a+(k1)(ba))modM
  • 如果该数列是等比数列,则公比为b a \frac{b}{a}ab,使用通项公式求等比数列第k kk项,再对M MM取模:a k m o d M = a 1 q k − 1 m o d M = a ( b a ) k − 1 m o d M = ( a m o d M ) ( ( b a ) k − 1 m o d M ) m o d M a_k\bmod M=a_1q^{k-1}\bmod M=a(\frac{b}{a})^{k-1}\bmod M=(a\bmod M)((\frac{b}{a})^{k-1}\bmod M)\bmod MakmodM=a1qk1modM=a(ab)k1modM=(amodM)((ab)k1modM)modM

( b a ) k − 1 m o d M (\frac{b}{a})^{k-1}\bmod M(ab)k1modM需要用到快速幂取模算法。

本题无法使用递推公式求等差或等比数列第k kk项,因为k kk最大会达到1 0 9 10^9109,而递推求等差或等比数列第k kk项的时间复杂度是O ( n ) O(n)O(n)的,写代码运行会超时)

【题解代码】

解法1:快速幂
#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;constintM=200907;LLfastPow(LL a,LL b,LL m){LL r=1;while(b>0){if(b%2==1)r=r*a%m;a=a*a%m;b/=2;}returnr;}intmain(){LL t,a,b,c,k;cin>>t;while(t--){cin>>a>>b>>c>>k;if(c-b==b-a)cout<<(a+(k-1)*(b-a))%M<<endl;else//c/b == b/acout<<a*fastPow(b/a,k-1,M)%M<<endl;}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 4:15:55

Excalidraw构建可持续发展战略:ESG目标分解

Excalidraw构建可持续发展战略&#xff1a;ESG目标分解 在企业纷纷将可持续发展纳入核心战略的今天&#xff0c;如何让ESG&#xff08;环境、社会与治理&#xff09;不再停留在年报中的几行文字&#xff0c;而是真正成为可执行、可追踪、可协作的战略行动&#xff1f;许多团队…

作者头像 李华
网站建设 2026/4/14 8:53:33

Excalidraw绘制企业文化传播:价值观落地路径

Excalidraw绘制企业文化传播&#xff1a;价值观落地路径 在一家快速扩张的科技公司里&#xff0c;HR团队又一次面临老问题&#xff1a;新员工培训时&#xff0c;讲完“客户第一”“拥抱变化”这些核心价值观后&#xff0c;台下眼神依旧迷茫。PPT翻页如常&#xff0c;掌声稀疏&a…

作者头像 李华
网站建设 2026/4/9 19:11:27

65、Windows 启动脚本与 BIOS 设置全解析

Windows 启动脚本与 BIOS 设置全解析 1. 制作启动脚本 启动脚本是在 Windows 启动时自动执行的脚本,制作过程相对简单。本质上,你可以创建普通的 PowerShell 脚本、批处理文件或其他类型的脚本,然后采取措施使其在 Windows 启动时执行。以下是几种不同的实现方法: 1.1 使…

作者头像 李华
网站建设 2026/4/13 12:20:24

Excalidraw呈现语音识别流程:ASR技术栈拆解

Excalidraw呈现语音识别流程&#xff1a;ASR技术栈拆解 在AI驱动的智能设备日益普及的今天&#xff0c;语音交互正成为人机沟通的核心入口。然而&#xff0c;构建一个稳定高效的自动语音识别&#xff08;ASR&#xff09;系统远非易事——它涉及音频信号处理、深度学习模型推理、…

作者头像 李华
网站建设 2026/4/1 18:33:38

Excalidraw展示知识产权布局:专利商标管理图谱

Excalidraw构建知识产权图谱&#xff1a;专利与商标的可视化管理新范式 在科技企业日益依赖创新驱动发展的今天&#xff0c;知识产权早已不再是法务部门的专属议题&#xff0c;而是贯穿研发、产品、市场和战略的核心资产。然而&#xff0c;大多数团队仍在用Excel表格或静态PPT来…

作者头像 李华
网站建设 2026/4/14 6:33:49

73、Windows 7 系统数据恢复与故障解决指南

Windows 7 系统数据恢复与故障解决指南 在使用 Windows 7 系统的过程中,我们难免会遇到各种问题,如文件丢失、系统无法正常启动或关机等。本文将为您详细介绍如何恢复文件、解决系统重启或关机问题、处理睡眠或休眠恢复失败的情况,以及如何修复计算机以确保正常启动。 1. …

作者头像 李华