***1133. Fibonacci Sequence(斐波那契数列,二分,数论)
1133. Fibonacci Sequence
Memory limit: 64 MB
Input
−1000 ≤ i, j, n ≤ 1000, i ≠ j,
−2·109 ≤ Fk ≤ 2·109 (k = min(i, j, n), …, max(i, j, n)).
Output
Sample
input | output |
---|---|
|
|
- #include <iostream>
- using namespace std;
- const int oo=;
- int now;
- __int64 i,fi,j,fj,n;
- __int64 l=-oo,r=oo,mid,sum[];
- int main()
- {
- cin >> i >> fi >> j >> fj >> n;
- if (i > j)
- {
- swap(i,j);
- swap(fi,fj);
- }//进行调整,使得i比j考前
- while (l <= r)
- {//进行二分
- mid=(l+r)>>;//先取中间值,mid表示第i+1个数的值
- sum[]=fi;
- sum[now=]=mid;
- int k=i+,flag=-;
- while (k <= j)
- {//计算加法运算次数
- now=(now+)%;
- ++k;
- sum[now]=sum[(now+)%]+sum[(now+)%];
- if (sum[now] > oo) flag=;//向上超界了用1进行标记
- else if (sum[now] < (-oo)) flag=-;//超出了最低限用-1进行标记
- if (flag != -) break;//超界了就不需要在进行运算了
- }
- if (flag == -)
- {
- if (sum[now] > fj) flag=;//没有超界但是大于fj表示mid开大了
- else if (sum[now] < fj) flag=-;//没有超界但是运算到了j小于fj表示mid开小了
- else flag=;//mid开正确了
- }
- if (flag == ) r=mid-;//开大了重置r
- else if (flag == -) l=mid+;//开小了总之L
- else if (flag == ) break;//正好则跳出
- }
- sum[]=fi;
- sum[now=]=mid;//进行模拟找到第n个数
- if (i < n)
- {
- int k=i+;
- while (k <= n)
- {
- now=(now+)%;
- ++k;
- sum[now]=sum[(now+)%]+sum[(now+)%];
- }
- }
- else if (i > n)
- {
- int k=i-;
- while (k >= n)
- {
- now=(now+)%;
- --k;
- sum[now]=sum[(now+)%]-sum[(now+)%];
- }
- }
- else --now;
- cout << sum[now] << endl;
- return ;
- }
***1133. Fibonacci Sequence(斐波那契数列,二分,数论)的更多相关文章
- Computational Complexity of Fibonacci Sequence / 斐波那契数列的时空复杂度
Fibonacci Sequence 维基百科 \(F(n) = F(n-1)+F(n-2)\),其中 \(F(0)=0, F(1)=1\),即该数列由 0 和 1 开始,之后的数字由相邻的前两项相加 ...
- 10、end关键字和Fibonacci series: 斐波纳契数列
# Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a, b = 0, 1 #复合赋值表达式,a,b同时赋值0和1 while b < 10: print(b ...
- [Amazon] Program for Fibonacci numbers 斐波那契数列
The Fibonacci numbers are the numbers in the following integer sequence. 0, 1, 1, 2, 3, 5, 8, 13, 21 ...
- Fibonacci series(斐波纳契数列)的几种常见实现方式
费波那契数列的定义: 费波那契数列(意大利语:Successione di Fibonacci),又译费波拿契数.斐波那契数列.斐波那契数列.黄金切割数列. 在数学上,费波那契数列是以递归的方法来定义 ...
- 【算法】Fibonacci(斐波那契数列)相关问题
一.列出Fibonacci数列的前N个数 using System; using System.Collections.Generic; using System.Linq; using System ...
- 509. Fibonacci Number斐波那契数列
网址:https://leetcode.com/problems/fibonacci-number/ 原始的斐波那契数列 运用自底向上的动态规划最佳! 可以定义vector数组,但是占用较多内存空间 ...
- POJ 3070 Fibonacci【斐波那契数列/矩阵快速幂】
Fibonacci Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 17171 Accepted: 11999 Descr ...
- Fibonacci(斐波那契数列)的第N位数
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为F(n)=1 ...........(n=1或n=2)F(n)=F(n-1)+F(n-2).. ...
- 【LeetCode每天一题】Fibonacci Number(斐波那契数列)
The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such th ...
随机推荐
- jQuery Validate【强大的表单验证】
一.引入菜鸟教程提供的 1.14.0 版本下载地址:http://static.runoob.com/download/jquery-validation-1.14.0.zip <script ...
- AutoCAD 2009及以上 32位&64位 官方原版下载地址
AutoCAD 2017 AutoCAD 2017 简体中文版 32位 http://trial2.autodesk.com/NET17SWDLD/2017/ACD/DLM/AutoCAD_2017_ ...
- [河南省ACM省赛-第四届] 表达式求值(nyoj 305)
栈的模拟应用: #include<iostream> #include<cstdio> #include<cstring> #include<string&g ...
- Gentoo网络管理方法总结
OpenRC/netifrc Netifrc is a collection of modules created to configure and manage network interfaces ...
- Java面试题及答案(基础122道,编码19道)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- sql server 查询表基本信息sql
SELECT c.name,t.name TYPE,c.max_length,c.precision,c.scale,p.value FROM sys.systypes t INNER JOIN sy ...
- 二十九、oracle 触发器
一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需 ...
- lr_save_var() 截取任意字符串长度,以参数形式输出(参数转变量)
Action() { char * desc=(char *)malloc(10); //定义指针变量,以变量形式存放截取到的参数值 // char * aa = "jadkshfkasd ...
- cuckoo数据库变更
1.cuckoo版本升级 cuckoo默认的数据库为sqlite,默认连接方式为sqlite:///os.path.join(REPORT_ROOT, "db", "cu ...
- HTML表格标记