题目背景

终于结束的起点
终于写下句点
终于我们告别
终于我们又回到原点
……

一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演。
如果这次 NOIp 是你的起点,那么祝你的 OI 生涯如同夏花般绚烂。
如果这次 NOIp 是你的终点,那么祝你的 OI 回忆宛若繁星般璀璨。
也许这是你最后一次在洛谷上打比赛,也许不是。
不过,无论如何,祝你在一周后的比赛里,好运。

当然,这道题也和轮回有关系。

题目描述

广为人知的斐波拉契数列 \mathrm{fib}(n)fib(n) 是这么计算的

也就是 0, 1, 1, 2, 3, 5, 8, 13 \cdots0,1,1,2,3,5,8,13⋯,每一项都是前两项之和。

小 F 发现,如果把斐波拉契数列的每一项对任意大于 11 的正整数 MM 取模的时候,数列都会产生循环。

当然,小 F 很快就明白了,因为 (\mathrm{fib}(n - 1) \bmod Mfib(n−1)modM) 和 (\mathrm{fib}(n - 2) \bmod M)fib(n−2)modM) 最多只有 M ^ 2M2 种取值,所以在 M ^ 2M2 次计算后一定出现过循环。

甚至更一般地,我们可以证明,无论取什么模数 MM,最终模 MM 下的斐波拉契数列都会是 0, 1, \cdots, 0, 1, \cdots0,1,⋯,0,1,⋯。

现在,给你一个模数 MM,请你求出最小的 n > 0n>0,使得 \mathrm{fib}(n) \bmod M = 0, \mathrm{fib}(n + 1) \bmod M = 1fib(n)modM=0,fib(n+1)modM=1。

输入输出格式

输入格式:

输入一行一个正整数 MM。

输出格式:

输出一行一个正整数 nn。

输入输出样例

输入样例#1: 复制

2
输出样例#1: 复制

3
输入样例#2: 复制

6
输出样例#2: 复制

24

说明

样例 1 解释

斐波拉契数列为 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, \cdots0,1,1,2,3,5,8,13,21,34,⋯,在对 22 取模后结果为 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, \cdots0,1,1,0,1,1,0,1,1,0,⋯。

我们可以发现,当 n = 3n=3 时,f(n) \bmod 2= 0, f(n + 1) \bmod 2 = 1f(n)mod2=0,f(n+1)mod2=1,也就是我们要求的 nn 的最小值。

数据范围

对于 30\%30% 的数据,M \leq 18M≤18;

对于 70\%70% 的数据,M \leq 2018M≤2018;

对于 100\%100% 的数据,2 \leq M \leq 706150=2≤M≤706150=0xAC666

提示

如果你还不知道什么是取模 (\bmod)(mod),那我也很乐意告诉你,模运算是求整数除法得到的余数,也就是竖式除法最终「除不尽」的部分,也即a \bmod M =k \iff a = bM + k\ (M > 0, 0 \leq k < M)amodM=k⟺a=bM+k (M>0,0≤k<M)其中 a, b, ka,b,k 都是非负整数。

如果你使用 C / C++,你可以使用 % 来进行模运算。

如果你使用 Pascal,你可以使用 mod 来进行模运算。

题解

如果这次 NOIp 是你的终点,那么祝你的 OI 回忆宛若繁星般璀璨。

哈哈哈哈为什么要一上来就放催泪弹啊一点都不感动嘤嘤嘤嘤


一开始淡定的打表找规律,发现跟因子有些关系,大概就是对很多数而言是质因子的f乘起来再乘反复出现的质因子之类......

然后不想肝了挂了个机跑1~706150的答案,记了个最大值,好像最大值只是个211多少的七位数......

那还规律个鬼啊,暴力啊!

 /*
qwerta
P4994 终于结束的起点 Accepted
100
代码 C++,0.25KB
比赛 【LGR-055】洛谷11月月赛
提交时间 2018-11-04 09:08:05
耗时/内存 70ms, 808KB
*/
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int m;
scanf("%d",&m);
int f0=,f1=;
for(long long n=;;++n)
{
int x=(f0+f1)%m;
if(f1==&&x==)
{
cout<<n;
break;
}
f0=f1;
f1=x;
}
return ;
}

「P4994」「洛谷11月月赛」 终于结束的起点(枚举的更多相关文章

  1. 「P4996」「洛谷11月月赛」 咕咕咕(数论

    题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...

  2. 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心

    题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi​,地面的高度是 h_0 = 0 ...

  3. 洛谷11月月赛(284pts rank85)

    https://www.luogu.org/contestnew/show/12006 我是比赛完后在去写的 这是我第一次打洛谷月赛,之前一次是比赛完才去看而且写了第一题就没写后面的了 284分,太水 ...

  4. 洛谷11月月赛题解(A-C)

    心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了.. A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告 ...

  5. 洛谷11月月赛round.1

    太感动了#2 thwfhk 240 (801ms) 100 100 40   又一张明信片,话说10月的怎么还没收到   P2246 SAC#1 - Hello World(升级版) 题目背景 一天, ...

  6. 洛谷11月月赛round.2

    P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣 ...

  7. NOIP模拟赛(洛谷11月月赛)

    T1  终于结束的起点 题解:枚举啊... 斐波那契数 第46个爆int,第92个爆long long.... 发现结果一般是m的几倍左右....不用担心T. #include<iostream ...

  8. 【CSGRound2】逐梦者的初心(洛谷11月月赛 II & CSG Round 2 T3)

    题目描述# 给你一个长度为\(n\)的字符串\(S\). 有\(m\)个操作,保证\(m≤n\). 你还有一个字符串\(T\),刚开始为空. 共有两种操作. 第一种操作: 在字符串\(T\)的末尾加上 ...

  9. 最大字段和&洛谷11月月赛DIV2 T1

    蒟蒻只能打一打DIV2的基础题 太卑微了 这道题的本质其实是再建一个数组,如果s串i位置是0那么就给a[i]赋值为1,表示要累加个数,如果是1那么就把a[i]赋值为-1,表示个数减一,最后求最大子段和 ...

随机推荐

  1. 11-BeautifulSoup库详解

    ---恢复内容开始--- 灵活又方便的网页解析库,处理高效,支持多种解析器. 利用它不用编写正则表达式即可方便地实现网页信息的提取. 这个库有四个主要方法吧,其中xlml是最常用的,他的标签选择器可以 ...

  2. eclipse-jee版配置tomcat

    Eclipse作为一款优秀的java开发开源IDE,集成了许多优秀的开发控件.下来我就如何安装eclipse及插件进行说明: 一.JDK安装   JDK是作为整个java的核心,包括运行环境,编译工具 ...

  3. nginx支持pathinfo模式

    很久不使用apache了,渐渐对apache感到陌生,因为朋友有个ZendFramework框架从apache移到nginx下,需要pathinfo模式支持.网上海搜于是开始搜索nginx+pathi ...

  4. ArrayList和Vector的区别?HashMap和HashTable的区别?StringBuilder、StringBuffer和String的区别?

    ArrayList和Vector的区别?从两个方面 1.同步性:ArrayList是线程不安全的,是非同步的:Vector是线程安全的,是同步的.(Java中线程的同步也就满足了安全性) 2.数值增长 ...

  5. 制作FAT12软盘以查看软盘的根目录条目+文件属性+文件内容

    [-1]Before for specific info , please visit http://wiki.osdev.org/Loopback_Device [0]我们先上干货,看到效果后,我们 ...

  6. EasyNVR NVR网页无插件直播在兼容宇视NVR RTSP流媒体时PLAY过程对Scale的兼容

    前一段在维护EasyNVR客户的过程中遇到一个问题,在接入宇视NVR的时候,就是明明在vlc中能非常正常播放的视频流,却用EasyRTSPClient RTSP客户端拉流的协议交互过程中,PLAY命令 ...

  7. Centos7升级python版本

    升级Python 我的安装目录是/home/python 下载 ` cd /home/python wget https://www.python.org/ftp/python/3.5.0/Pytho ...

  8. kindeditor浏览器兼容性问题

    1.kindeditor在IE下出现异常“对象不支持“attachEvent”属性或方法” 通过开发人员工具会发现: 这时问题就很明了,也就是IE11版本不支持“attachEvent”; 解决方案: ...

  9. process_thread_action

    import psycopg2 import threading conn_fmac = psycopg2.connect(database='filter_useless_mac', user='u ...

  10. Android笔记之Retrofit与RxJava的组合

    依赖 implementation 'com.squareup.retrofit2:retrofit:2.5.0' implementation 'com.squareup.retrofit2:con ...