一本通 1615:【例 1】序列的第 k 个数
一本通 1615:【例 1】序列的第 k 个数
传送门
思路
输入一个序列的前三个数并求出这个序列的第K项,这个数列不是等比序列就是等差数列,等差数列比较好判断,如果序列中\(a_{i+2}-a_{i+1}=a_{i+1}-a_{i}\),那他肯定是等差数列,然后根据通项式\(a_{n}=a_{1}+{n-1}*d就可以求出第N项\)(\(d\)为一个常数,\(d=a_{i}-a_{i-1}\)).至于剩下的就一定是等比数列了,但求第N项的时候,\(a_{n}=a_{1}*q^{n-1}\),求q的n-1次方需要使用快速幂
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a,b,c,k,d,res;
ll t;
const ll M=200907;
ll quickpower(ll a,ll b) {
ll ret=1;
while(b) {
if(b&1)ret=(ret*a)%M;
b>>=1;
a=a*a%M;
}
return ret;
}
int main() {
scanf("%lld",&t);
while(t--) {
cin>>a>>b>>c>>k;
if((c-b)==(b-a)) {
d=(b-a)%M;
res=(a+(k-1)%M*d)%M;
} else {
d=(b/a)%M;
res=a%M*quickpower(d,k-1)%M;
}
cout<<res<<"\n";
}
return 0;
}
一本通 1615:【例 1】序列的第 k 个数的更多相关文章
- AcWing 1289. 序列的第k个数
BSNY 在学等差数列和等比数列,当已知前三项时,就可以知道是等差数列还是等比数列. 现在给你 整数 序列的前三项,这个序列要么是等差序列,要么是等比序列,你能求出第k项的值吗. 如果第k项的值太大, ...
- 信息学奥赛一本通 提高篇 序列第k个数 及 快速幂
我是传送门 这个题首先是先判断是等差还是等比数列 等差的话非常简单: 前后两个数是等差的,举个栗子: 3 6 9 12 这几个数,(我感觉 1 2 3 4并说明不了什么) 每次都加3嘛,很容易看出,第 ...
- 序列内第k小查询(线段树)
最近请教了一下大佬怎么求序列内第k大查询,自己又捣鼓了一下,虽然还没有懂得区间第k大查询,不过姑且做一个记录先吧 因为每个元素大小可能很大而元素之间不连续,所以我们先离散化处理一下,程序中的ori[ ...
- 笔试算法题(03):最小第K个数 & 判定BST后序序列
出题:输入N个整数,要求输出其中最小的K个数: 分析: 快速排序和最小堆都可以解决最小(大)K个数的问题(时间复杂度为O(NlogN)):另外可以建立大小为K的最大堆,将前K个数不断插入最大堆,对于之 ...
- ch1_5_2求无序序列中第k小的元素
import java.util.Arrays; import java.util.PriorityQueue; public class ch1_5_2求无序序列中第k小的元素 { public s ...
- 1979 第K个数
1979 第K个数 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定一个长度为N(0<n<=10000) ...
- codevs 1979 第K个数
时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字 ...
- codevs——1979 第K个数
1979 第K个数 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 给定一个长度为N(0<n<=10 ...
- CODEVS——T1979 第K个数
http://codevs.cn/problem/1979/ 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descript ...
随机推荐
- history路由模式下的nginx配置
路由模式 众所周知,浏览器下的单页面应用的路由模式有下面两种: hash 模式和 history 模式.hash 模式通用性好,而且不依赖服务器的配置,省心省力,但是缺点是不够优雅.相比于 hash ...
- 《 .NET并发编程实战》阅读指南 - 第3章
先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.
- Java设计模式原型模式
原型模式: – 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式. – 就是java中的克隆技术,以某个对象为原型,复制出新的对象.显然,新的对象具备原型对象的特点 – 优势 ...
- WPF MultiBinding,多值转化器IMultiValueConverter,自制调色板 palette
public class RGBConverter : IMultiValueConverter { //正向修改,整合颜色值 public object Convert(object[] value ...
- C# 拓展ComboBox设置线条属性(转)
C# 拓展ComboBox设置线条属性目前由于项目需要,要实现线条属性设置的功能,就如Visio中点击线端时,可以弹出一个窗口设置线条的各种属性. 其中线条属性选择时,是在ComboBox控件中,显示 ...
- 分享几套2019年各大公司最新的PHP面试题,几斤几两一试便知
从面试题发现不足,进而查漏补缺,比通过面试更难得 PHP面试题2019年奇虎360面试题和答案解析 PHP面试题2019年京东工程师面试题和答案解析 PHP面试题2019年新浪工程师面试题和答案解析 ...
- [转]Java游戏引擎
JME(jMonkey Engine): JME是一个高性能的3D图形API,采用LWJGL作为底层支持.它的后续版本将支持JOGL.JME和Java 3D具有类似的场景结构,开发者必须以树状方式组织 ...
- EF自动创建数据库步骤之四(启用数据库初始器)
在创建完DBIfNotExistsInitializer数据库初始化器类后,需要在程序每一次访问数据库前,告诉EF使用该初始化器进行初始化. 代码如下 : Database.SetInitialize ...
- Android源码分析(十一)-----Android源码中如何引用aar文件
一:aar文件如何引用 系统Settings中引用bidehelper-1.1.12.aar 文件为例 源码地址:packages/apps/Settings/Android.mk LOCAL_PAT ...
- Mysql 主从报错:1141
主从同步,从库报错代码:1141 ,错误信息如下: Master_Port: 3306 Connect_Retry: 60 Master_Log_File: binlog.000086 Read_Ma ...