#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<string>
#include<algorithm>
using namespace std;
typedef long long ll;
const int M=;
const int N=;
ll n,m,f2,f1,s1,p1;
ll sn,pn,tn;
struct node{
ll g[M][M];
}mat,res;
void matrixMutiple(node &x,node &y,node &z){
//矩阵乘法运算
memset(z.g,,sizeof(z.g));
for(int i = ; i<=N; i++){
for(int j=; j<=N; j++) if(x.g[i][j]){
for(int k=; k<=N; k++){
z.g[i][k]+=x.g[i][j]*y.g[j][k];
if(z.g[i][k]>=m) z.g[i][k]%=m;
}
}
}
}
void matrixI(node &E){
//构造单位矩阵
for(int i=; i<=N; i++){
for(int j=; j<=N; j++) E.g[i][j]=(i==j);
}
}
void matrixMuti(ll k){
//快速幂运算
matrixI(res); node tmp=mat, t;
while(k){
if(k&) {//“&1”判断k的奇偶
matrixMutiple(res,tmp,t); res=t;
}
matrixMutiple(tmp,tmp,t); tmp=t;
k>>=;
}
}
void init(){
//初始化矩阵
memset(mat.g,,sizeof(mat.g));
mat.g[][]=; mat.g[][]=;
mat.g[][]=;
mat.g[][]=; mat.g[][]=;
mat.g[][]=; mat.g[][]=;
f1=f2=s1=; p1=;
}
int main(){
ios::sync_with_stdio(false); //加速cin和cout
while(cin>>n>>m){
init();
ll ans=;
matrixMuti(n-);
sn=(res.g[][]*f2+res.g[][]*f1+res.g[][]*s1+res.g[][]*p1)%m;
pn=(res.g[][]*f2+res.g[][]*f1+res.g[][]*s1+res.g[][]*p1)%m;
tn=(n*sn-pn+m)%m;
cout<<tn<<endl;
}
return ;
}

佳佳的Fibonacci:

时间限制: 1 Sec  内存限制: 128 MB

题目描述

佳佳对数学,尤其数列十分感兴趣,在研究完Fibonacci之后,他创造出许多稀奇古怪的数列。如求S(n)表示Fibonacci数列前n项和对m取模之后的值,即S(n)=(F1+F2+…+Fn) mod m,F1=F2=1。可是这对佳佳来说还是小菜一碟。终于,他找到一个自己解决不了的数列。。。T(n)表示Fibonacci数列前n项变形后的和对m取模之后的值,即T(n)=(F1+2*F2+3*F3+…+n*Fn) mod m,F1=F2=1。

输入

第一行,包含两个整数n和m。1<=n,m<=2^31-1

输出

共1行, T(n)的值。

样例输入

5 5

样例输出

1

【样例解释】

T(5)=(1+2*1+3*2+4*3+5*5)mod 5 = 1

【数据规模】

30%数据1<=n<=1000

60%数据1<=m<=1000

100%数据1<=n,m<=2^31-1

佳佳的Fibonacci的更多相关文章

  1. 一本通1644【例 4】佳佳的 Fibonacci

    1644:[例 4]佳佳的 Fibonacci 时间限制: 1000 ms         内存限制: 524288 KB sol:搞了大概一个多小时什么结果都没,被迫去看题解,感觉自己菜到家了qaq ...

  2. 佳佳的 Fibonacci

    佳佳的 Fibonacci \(f_n=f_{n-1}+f_{n-2},f_1=f_2=1\),求\(f_1+2f_2+3f_3+...+nf_nmod\ m,1≤n,m≤2^{31}-1\). 解 ...

  3. TYVJ P3407 佳佳的魔法照片 Label:语文很重要 语文很重要 语文很重要

    描述 佳佳的魔法照片(mphoto.pas\c\cpp) [题目背景] 佳佳的魔法照片(Magic Photo):如果你看过<哈利•波特>,你就会知道魔法世界里的照片是很神奇的.也许是因为 ...

  4. vijosP1285 佳佳的魔法药水

    vijosP1285 佳佳的魔法药水 链接:https://vijos.org/p/1285 [思路] 图论思想. 很巧妙. 如A+B=C,将AB之间连边,边权为C,用以找相连物品与合成物. 用Dij ...

  5. 【DFS】佳佳的魔法阵

    [vijos1284]佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放…… 描述 ...

  6. P1875 佳佳的魔法药水

    P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 ……怎么样才能 ...

  7. vijos:P1285佳佳的魔法药水

    背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水……怎么样才能得到0号药水呢?你要知道佳佳的家境也不是很好,成本得 ...

  8. 洛谷 P1875 佳佳的魔法药水

    P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 --怎么样才能 ...

  9. 洛谷—— P1875 佳佳的魔法药水

    https://www.luogu.org/problemnew/show/1875 题目背景 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的 ...

随机推荐

  1. mysql安装了半天参考了文章搞定了

    https://blog.csdn.net/yelllowcong/article/details/79641313 mysql -uroot -pbrucelee 总结下: 1.安装时注意具体的路径 ...

  2. 操作mysql(import pymysql模块)

    pymysql模块 import pymysql #1.连上数据库.账号.密码.ip.端口号.数据库 #2.建立游标 #3.执行sql #4.获取结果 #5.关闭游标 #6.连接关闭 #charest ...

  3. ajax登录验证-js

    1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  4. 汇编入门——使用DOSBox写一个HelloWorld以及相关软件安装

    0.0.0) 在D盘建立一个ASM文件夹 0.0.1) 放入所需要的文件 1所标示的红色框为必须要存在的文件,要处理汇编文件.百度网盘中下载. 2自己编写的汇编(asm)文件. 3编译汇编自己生成的文 ...

  5. appium api笔记

    打印上下文driver.contexts打印当前上下文driver.contextdriver.current_context切换上下文driver.switch_to.context('WEBVIE ...

  6. ldd可执行程序时返回not a dynamic executable

    原因:32位程序放在64位机器上或64位程序放在32位程序上了 解决方法:如果是32位程序放在64位系统上则安装yum -y install libstdc++.i686,64位则是yum -y in ...

  7. 海思编译链编译出现__aeabi_unwind_cpp_pr1重定义怎么回事

    1.用arm-hisiv100nptl-linux-gcc编译代码,结果发现报错,__aeabi_unwind_cpp_pr1重定义,在librt.a先定义,使用的海思芯片是hi3520d. 2.本来 ...

  8. Python-第一章(开发基础)

    1.    机器语言 = 机器指令 = 二进制代码 汇编语言就是把二进制变成了英文,开发效率低. 编译型语言:C   C++   Delphi  ... 解译型语言:Python  php   jav ...

  9. spring注解简单记录

    @Autowired 自动匹配,按类型 @qualifiter("beanname") 当有多个bean匹配时,可指定bean名称 @Resource byname优先匹配,然后b ...

  10. Trivial File Transfer Protocol (TFTP)

    Assignment 2The Trivial File Transfer Protocol (TFTP) is an Internet software utility fortransferrin ...