http://blog.csdn.net/wust_xhj/article/details/47779539

怎么推可以看这里

f[0]=0

f[1]=1

[0,1]* | 0  q  |(n-1)=[f(n-1),f(n)]

     | 1 q-1|

跑一下快速幂

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h> using namespace std;
typedef long long ll;
#define MAXN 105 struct node
{
ll z[][];
};
ll Quick(ll a,ll b,ll c)
{
ll ans=;
while(b>)
{
if(b%==)
ans=(ans*a)%c;
b/=;
a=(a*a)%c;
}
return ans;
}
ll p;
node mou(node a,node b)
{
node c;
for(int i=;i<;i++)
{
for(int j=;j<;j++)
{
ll sum=;
for(int k=;k<;k++)
sum=(sum+a.z[i][k]*b.z[k][j])%p;
c.z[i][j]=sum;
}
}
return c;
}
int main()
{
ll x1,y1,z1,y2,z2;
while(scanf("%lld%lld%lld",&x1,&y1,&z1)!=EOF)
{
if(x1==-&&y1==-&&z1==-)
break;
scanf("%lld%lld%lld",&y2,&z2,&p);
ll q=(Quick(x1,y1,p)+z1)%p;
node s,a,ans;
ans.z[][]=;
ans.z[][]=;
ans.z[][]=;
ans.z[][]=;
a.z[][]=;
a.z[][]=q;
a.z[][]=;
a.z[][]=q-;
s=a;
while(z2>)
{
if(z2%==)
ans=mou(ans,a);
z2=z2/;
a=mou(a,a);
}
for(int i=;i<y2;i++)
{
ans=mou(s,ans);
s=mou(s,s);
}
printf("%d\n",ans.z[][]); }
return ;
}

递推 hdu 3411的更多相关文章

  1. 递推 hdu 1396

    给你边长为n的等边三角形 算有几个三角形 z[1]=1; 第N层 z[n] 1   n-1层 z[n-1] 2   2*n-1 个小的 3   新产生的 正的>1的三角形 n*(n-1)/2; ...

  2. 递推 hdu 1330

    http://www.cnblogs.com/rainydays/archive/2013/01/16/2862235.html 看样例的答案 #include<stdio.h> #inc ...

  3. 递推 HDU 2569

    考虑n-2 n-1 n z[n] 代表n个块 可行方案 1  n-2 和n-1 同 3*z[n-2] 2  n-2和n-1不同 2*(z[n-1]-z[n-2]); 减一减 然后可能是其中一种 *2 ...

  4. 递推 hdu 2064

    z[n] n个盘子从1到3次数 先想2个的时候  1->2 2->3  1->2 3->2 2->1 2->3 1->2 2->3 显然 要先把上面n- ...

  5. 递推 hdu 2048

    t 关于错排 共n个数 第n个 和一个交换  其他n-2错排  (n-1)*z[n-2]; n-1个错排 第n个和n-1个交换    (n-1)*z[n-1]; 求和 然后概率的话要除n! 一个一个除 ...

  6. 递推 HDU 1143

    n%2==1 0 n%2==0 右边和左边没影响 右边的 * 左边的 z[n]=3*z[n-2]+2*z[n-4]+...2*z[0]; z[n-2]=3*z[n-4]+2*z[n-6]+...2*z ...

  7. HDU 2842 (递推+矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题目大意:棒子上套环.第i个环能拿下的条件是:第i-1个环在棒子上,前i-2个环不在棒子上.每个 ...

  8. hdu 1465:不容易系列之一(递推入门题)

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  9. HDU 2085 核反应堆 --- 简单递推

    HDU 2085 核反应堆 /* HDU 2085 核反应堆 --- 简单递推 */ #include <cstdio> ; long long a[N], b[N]; //a表示高能质点 ...

随机推荐

  1. 关于Agile Scrum的笔记

    Roles: Scrum Master -- advisor but leader, 替Team消除障碍 Product Owner -- 定sprint的交付内容, 优先级 Team -- 干活的, ...

  2. Prime Generator

    Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate ...

  3. Mysql性能优化三(分表、增量备份、还原)

    接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...

  4. jQuery动画与特效详解

    本文主要是讲解和学习jQuery的自动显隐,渐入渐出等. 1.显示和隐藏hide()和show() 对于动画来说,显示和隐藏是最基本的效果之一,本节简单介绍jQuery的显示和隐藏. 代码如下: &l ...

  5. 十种MYSQL显错注入原理讲解(二)

    上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...

  6. Java 反射 使用总结

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6074887.html1 本文出自[赵彦军的博客] 反射机制是什么 反射机制是在运行状态中,对于任意一个类,都 ...

  7. iOS比较常用的第三方及实例(不断更新中)

    把平时看到或项目用到的一些插件进行整理,文章后面分享一些不错的实例,若你有其它的插件欢迎分享,不断的进行更新: 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com ...

  8. 「视频直播技术详解」系列之七:直播云 SDK 性能测试模型

    ​关于直播的技术文章不少,成体系的不多.我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面.深入地了解视频直播技术,更好地技术选型. 本系列文章大纲如下: ...

  9. JavaSE 之 final 初探

    我们先看一道面试题: 请问 final 的含义是什么?可以用在哪里?其初始化的方式有哪些? 首先我们回答一下这道题,然后再探究其所以然.  1.final 表示“最终的”.“不可改变的”,意指其修饰类 ...

  10. (十四)Maven聚合与继承

    1.Maven聚合 我们在平时的开发中,项目往往会被划分为好几个模块,比如common公共模块.system系统模块.log日志模块.reports统计模块.monitor监控模块等等.这时我们肯定会 ...