Title:【Empty】#

Time Limit:1000 ms

Memory Limit:131072 KBytes

Description##

给定n与p,求\(\left\lfloor x^n\right\rfloor \% p\),x=\(\frac{\sqrt{5}+1}{2}\)。

Input Format##

输入一行,两个非负整数n,p。

Output Format##

输出一个整数,表示答案

Sample Input##

5 97

Sample Output##

11

Solution##

今天写道数学题吧OwO

这道题我们看到\(\frac{{\sqrt 5 {\rm{ + }}1}}{2}\),那么我们容易想到另一个无理数\(\frac{1-\sqrt 5}{2}\)对吧?

因为这两个无理数是方程\(t^2-t-1=0\)的两根

那么数学好的大佬肯定一眼看出这个特征方程对应的递推通式是\(f[i]=f[i-1]+f[i-2]\)

我们首先设\(x1=\frac{{\sqrt 5 {\rm{ + }}1}}{2}\),\(x2=\frac{1-\sqrt 5}{2}\)

那么其实这个递推式的通式其实就是\(f[n]=c1*x1^n+c2*x2^n\)

具体这个递推式是什么呢?我们并不在乎对吧(引用:我又不是数学老师)

为了得到\(x1^n\),我们不妨假设这个递推式的通项式为\(f[n]=(\frac{{\sqrt 5 {\rm{ + }}1}}{2})^n+(\frac{1-\sqrt 5}{2})^n\)

首先我们将0,1带入递推通式得到\(f_0=2,f_1=1\),那么我们所得到的递推式每一项都必然是一个整数

由于\(-1<\frac{1-\sqrt 5}{2}<0\),显然\(\begin{cases}
-1<(\frac{1-\sqrt 5}{2})^n<0& \text{n%2==1} \\
0<(\frac{1-\sqrt 5}{2})^n<1& \text{n%2==0}
\end{cases}\)

那么我们只要对于n的奇偶性讨论一下,如果是奇就直接输出\(f[n]\),否则输出\(f[n]-1\)

剩下就是一个矩阵乘法求递推第n项,因此很容易求解

#include<cstdio>
long long n;
int zqm,f0,f1;
struct r{
int a,b,c,d;
}a,c;
r operator *(r a,r b){
r c;
c.a=(a.a*1ll*b.a+a.b*1ll*b.c)%zqm;
c.b=(a.a*1ll*b.b+a.b*1ll*b.d)%zqm;
c.c=(a.c*1ll*b.a+a.d*1ll*b.c)%zqm;
c.d=(a.c*1ll*b.b+a.d*1ll*b.d)%zqm;
return c;
}
int main()
{
scanf("%lld%d",&n,&zqm);
f0=2,f1=1;
if (n==0){
printf("%d\n",1%zqm);
return 0;
}
if (n==1){
printf("%d\n",1%zqm);
return 0;
}
n-=2;
int ans=0;
if (!(n&1)) ans--;
a=(r){1,1,1,0};
c=a;
while (n){
if ((n&1)) c=c*a;
a=a*a,n>>=1;
}
ans=(c.a*1ll*f1+f0*1ll*c.b+ans)%zqm;
printf("%d",ans);
return 0;
}

【NOIP模拟赛】一道挖掉背景的数学题的更多相关文章

  1. 2014-10-31 NOIP模拟赛

        10.30 NOIp  模拟赛   时间 空间 测试点 评测方式 挖掘机(dig.*) 1s 256M 10 传统 黑红树(brtree.*) 2s 256M 10 传统 藏宝图(treas. ...

  2. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  3. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  4. 【noip模拟赛5】细菌 状压dp

    [noip模拟赛5]细菌   描述 近期,农场出现了D(1<=D<=15)种细菌.John要从他的 N(1<=N<=1,000)头奶牛中尽可能多地选些产奶.但是如果选中的奶牛携 ...

  5. NOIP模拟赛-2018.11.7

    NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...

  6. NOIP模拟赛-2018.11.6

    NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...

  7. Nescafe #29 NOIP模拟赛

    Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开 ...

  8. NOI.AC NOIP模拟赛 第四场 补记

    NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...

  9. 【HHHOJ】NOIP模拟赛 玖 解题报告

    点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...

随机推荐

  1. redhat and centos 系统经常使用命令

    查看cpu信息:     more /proc/cpuinfo |grep "model name"     通常是至强系统 查看内存信息:     grep MemTotal / ...

  2. CSDN 夏令营程序 试题分析 (2)

    题目:若须要在O(nlogn)(以2为底)的时间内完毕对数组的排序.且要求排序是稳定的,则可选择的排序方法是: A.高速排序       B.堆排序            C.归并排序  D.直接插入 ...

  3. java入门之——对象转型

    对象的类型转换是我们在编程的时候常常会遇到的,java平台也是如此.比方一些基本类型的数据转型和复合数据的转换. 举例 java语言中主要分为向上转型和向下转型,怎样来了解和掌握这两者转型的关系呢?首 ...

  4. 一个有趣的问题:ls -l显示的内容中total究竟是什么?

    当我们在使用ls -l的命令时,我们会看到例如以下类似的信息. 非常多人可能对于第一行的total 12的数值并非非常在意,可是你是否想过,它到底是什么意思? man中的说明,我们能够看出total的 ...

  5. paramiko_su_root

    #coding=utf8 import paramiko import time import logging ''' if user root,can not login,must use user ...

  6. skype默认占用80和443port

    今天把server的port更改为80,结果起不来,报告"port已经被占用"的错误. 使用下列命令找到了元凶: 1. netstat -ano | findstr 80 找到占用 ...

  7. tesnorflow Conv2DTranspose

    tensorflow/python/layers/convolutional.py # Infer the dynamic output shape: out_height = utils.decon ...

  8. 【codevs1306】广播操的游戏

    求字符串内的非空子串的数量 后缀数组!!! #include<algorithm> #include<cstdlib> #include<cstring> #inc ...

  9. Python读取大文件(GB)

    Python读取大文件(GB) - CSDN博客 https://blog.csdn.net/shudaqi2010/article/details/54017766

  10. Python extensions for Windows

    Python extensions for Windows pywin32 214 Python extensions for Windows Maintainer: Mark Hammond Hom ...