codeforces B. The Fibonacci Segment 解题报告

题目链接:http://codeforces.com/problemset/problem/365/B

题目意思:简单来说,就是要找出最长的斐波纳契长度。  

      解决的方法不难,但是要注意更新左区间和右区间的值,而且需要把当前求出的斐波纳契长度和之前求出的斐波纳契长度进行对比,以便更新得出的最长的斐波纳契长度。

      特别注意的是,序列只有一个、两个或者没有斐波纳契长度的处理。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 using namespace std;
 5 
 6 const int maxn = 1e5 + 5;
 7 int a[maxn];
 8 
 9 int main()
10 {
11     int n, i, l, r, len, lent;
12     while (scanf("%d", &n) != EOF)
13     {
14     //    freopen("in.txt", "r", stdin);
15         for (i = 1; i <= n; i++)
16             scanf("%d", &a[i]);
17         lent = len = l = r = 1;
18         int flag = 0;
19         int flag1 = 0;
20         for (i = 3; i <= n; i++)
21         {
22             if (a[i] == a[i-1] + a[i-2])
23             {
24                 flag1 = 1;
25                 r = i;
26                 len = r - l + 1;    // 当前长度
27                 if (lent < len)
28                     lent = len;
29     
30             }
31             else
32             {
33                 if (!flag && flag1)
34                 {
35                     lent = len;  // 第一个求出的斐波纳契长度,以便后面下一次求出的斐波纳契长度有得比较
36                     flag = 1;
37                 }
38                 l = i-1;   //更新左区间的下标
39             }
40         }
41         if (!flag1)
42         {
43             if (n == 1)    //序列只有一个数
44                 printf("1\n");
45             else      //没有斐波纳契数且序列数目多于一个
46                 printf("2\n");
47         }
48         else
49         {
50             printf("%d\n", lent);
51         }
52     }
53     return 0;
54 }

 

转载于:https://www.cnblogs.com/windysai/p/3436641.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 导致iis 假死_php使用MySql函数导致Apache(iis)崩溃的问题解决方案

这个问题是在Windows下配置PHP环境时发生的。具体的表现是php运行正常&#xff0c;但是只要一调用MySql的相关函数&#xff0c;Apache就会崩溃掉。环境配置方式&#xff1a;php以模块的方式运行在Apache下。自定义php.ini路径phpinfo()显示mysql库加载成功崩溃后在Windows的错误…

回环设备(loop-back devices)

回环设备&#xff08; loopback device&#xff09;允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备&#xff0c;对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。&#xff08;当然&#xff0c;disk-ima…

委托类型

委托时一种特殊的类型&#xff0c;它用来保存方法的地址&#xff0c;这样我们很方便的调用方法&#xff0c;像变量一样传递&#xff0c;回调。 C中的函数指针也是保存方法的地址&#xff0c;但是有一点不一样的是定义委托的时候就知道了它里面可以保存什么样的方法&#xff0c;…

python 管道 异步读取 select_python之异步select解析

一、I/O多路复用I/O的含义&#xff1a;在计算机领域常说的IO包括磁盘IO和网络IO&#xff0c;我们所说的IO复用主要是指网络IO&#xff1b;在Linux中一切皆文件&#xff0c;因此网络IO也经常用文件描述符FD来表示。复用的含义&#xff1a;在通信领域中为了充分利用网络连接的物理…

C语言 文件

1. 需要了解的概念 需要理解的知识点包括&#xff1a;数据流、缓冲区、文件类型、文件存取方式 1.1 数据流&#xff1a; 指程序与数据的交互是以流的形式进行的。进行C语言文件的存取时&#xff0c;都会先进行“打开文件”操作&#xff0c;这个操作就是在打开数据流&#xff0…

WINCE BSP中source文件中的宏定义

在WinCE BSP中会看到很多sources文件&#xff0c;一般会和源代码放在同一个目录&#xff0c;当然不是绝对的。这些sources文件里面就是定义了一些宏&#xff0c;主要用于告诉Build.exe在编译源代码的时候应该如何编译和链接&#xff0c;告诉Nmake.exe如何编译源代码以及最后生成…

java递增_java-8 – 如何按组递增

有一个表,现在添加一个新列 – sort_num int default 0id level sort_num1 1 02 1 03 2 04 2 05 2 06 3 07 3 08 3 09 3 0现在我想设置如下的sort_num值id level sort_num1 1 12 1 23 2 14 2 25 2 36 3 17 3 28 3 39 3 4上面的Java代码实现要求是int sortNum 0;int currentLev…

解决WCF接口无法传递object参数的问题

在某些场合中&#xff0c;我们需要提供以object为参数的方法。不过在WCF中&#xff0c;由于需要序列化与反序列化&#xff0c;因此它要求所有WCF传递的参数类型都是已知的&#xff0c;无法传递object这种未知类型。即使用了KnownType来标记自定义对象&#xff0c;也无法调用。以…

wince中的BSP工程的相关文件介绍

一.pbcxml分析 每一个BSP都有一个工程文件&#xff0c;比如MyBSP.pbcxml&#xff0c;里面描述了BSP的信息。下面就来介绍一下BSP的pbcxml文件。 文件的大致格式应该是这样的&#xff1a; <CatalogFile …> <FileInformation ….> …. </FileInformation>…

calcite连接mysql_使用Calcite做Sql语法解析

Flink SQL中使用Calcite作为sql语法解析、校验、优化工具&#xff0c;本篇是实操篇&#xff0c;介绍一下calcite做sql语法解析使用方式。sql经过calcite解析之后&#xff0c;得到一棵抽象语法树&#xff0c;也就是我们说的AST&#xff0c;这棵语法树是由不同的节点组成&#xf…

ASP.NET Web Froms开发模式中实现程序集的延迟加载

延迟加载是一个很大的诱惑&#xff0c;可以达到一些比较好的效果&#xff0c;比如&#xff1a; 1、在实体框架中&#xff0c;由于关联数据的数量和使用时机是不确定的&#xff0c;通过延迟加载&#xff0c;仅在使用的时候去执行关联数据的查询操作&#xff0c;减少无谓的数据查…

java的国际化怎么用_Java有关国际化使用实例

1package com.commons.dormant.resources;import java.util.Locale;import java.util.ResourceBundle;/*** Commons-Resources没有提供已经发布的jar包&#xff0c;所以没有相关的实例&#xff0c;* 本例是java自带的和Resources功能相似的例子。主要是实现国际化* author chai…

jQuery之ajax的跨域获取数据

如果获取的数据文件存放在远程服务器上&#xff08;域名不同&#xff0c;也就是跨域获取数据&#xff09;&#xff0c;则需要使用jsonp类型。使用这种类型的话&#xff0c;会创建一个查询字符串参数 callback? &#xff0c;这个参数会加在请求的URL后面。服务器端应当在JSON数…

两个结构体ifconf和ifreq

用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq&#xff0c;它们对于大多数人 来说都是比较陌生的&#xff0c;这里给大家一种比较简单的理解方法&#xff0c;当然只一种帮助 理解的方法&#xff0c;在描述中可能会有一些地方与真实定义有所出入&#xff0c;仅供参考. …

java判断tcp是否阻塞_connect()调用在TCP堆栈中是非阻塞的(java)是什么意思

我有一个关于TCP套接字实现的connect()调用的问题.对于connect()调用来说,非阻塞是什么意思. connect()调用通过发送syn,等待SYNACK然后发送ACK,与其他一些套接字进行三次握手.如果连接成功,connect()调用也返回true,否则返回false.如果调用是非阻塞的,那么我猜这意味着连接应该…

php 换行 PHP_EOL变量

一个小小的换行&#xff0c;其实在不同的平台有着不同的实现&#xff0c;为什么要这样&#xff0c;可以是世界是多样的。 本来在unix世界换行就用/n来代替&#xff0c;但是windows为了体现他的不同&#xff0c;就用/r/n&#xff0c;更有意思的是在mac中用/r 因此unix系列用 /n …

alarm项目bug

1. rt5350上运行的soap服务器程序&#xff0c;响应时间过长 原因&#xff1a;打开了soap的调试日志&#xff0c;soap的调试日志是保存的文件中的。所以在rt5350上文件读写速度太慢造成的。因此 在编译的时候不能加-DDEBUG 2. 串口一次read调用读到两帧完整的报文测&#xff0c…

java 读取图片给 matlab_如何将MATLAB图像处理程序转换为java?

将Matlab代码转换为Java代码有几个一般的缺陷.我将Matlab转换成C代码,所以我的建议来自于这些经验.>如果你在Matlab中使用for循环,一般来说,你做错了.添加矩阵(图像等)是相当简单的&#xff1a;a b c;不管图像的大小.过滤也是一个相当简单的调用&#xff1a;a imfilter(‘…

C++ 一键关闭屏幕

Demo下载地址&#xff1a;http://pan.baidu.com/s/1vN4wF #include <windows.h> #include "resource.h"LRESULT CALLBACK WindowProc( HWND hwnd, // handle to windowUINT uMsg, // message identifierWPARAM wParam, // first message parameterL…

django 学习 (一)

1. 下载Django 1.3.3 https://pypi.python.org/simple/django/ 2. 验证下载的文件 md5sum 3. 解压安装 python setup.py install 4. 在python的shell里验证是否安装成功 import django 5. 建立第一个django工程 django-admin.py startproject firstproject 6. 修改新建的工…