觉得还是有必要发日志的……否则就在题海中迷失了自己的脚步咯

题目如标题,下面是程序……不要问我矩阵是怎么想的……

 1 #include <cstdio>
 2 #include <cmath>
 3 #include <cstring>
 4 #include <cstdlib>
 5 #include <queue>
 6 #include <stack>
 7 #include <vector>
 8 #include <iostream>
 9 #include "algorithm"
10 using namespace std;
11 typedef long long LL;
12 const int MAX=5;
13 LL a,n,p;
14 struct Mat{
15     LL x,y;
16     LL mat[MAX][MAX];
17     Mat (){
18         x=y=0;
19         memset(mat,0,sizeof(mat));
20     }
21     Mat operator * (const Mat &cc) {
22         int i,j,k;
23         Mat zt;
24         zt.x=x,zt.y=cc.y;
25         for (i=1;i<=zt.x;i++)
26          for (j=1;j<=cc.y;j++)
27           for (k=1;k<=cc.x;k++)
28            zt.mat[i][j]=(zt.mat[i][j]+mat[i][k]*cc.mat[k][j])%p;
29         return zt;
30     }
31 }m1,m2;
32 void init(){
33     int i,j;
34     scanf("%lld%lld%lld",&a,&n,&p);
35     m1.x=2,m1.y=1;
36     m1.mat[1][1]=m1.mat[2][1]=a;
37     m2.x=2,m2.y=2;
38     m2.mat[1][1]=10,m2.mat[1][2]=1;
39     m2.mat[2][1]=0,m2.mat[2][2]=1;
40 }
41 Mat ksm(Mat zt,LL k){
42     Mat an;
43     LL i,j;
44     an.x=zt.x,an.y=zt.y;
45     for (i=1;i<=an.x;i++)
46      for (j=1;j<=an.y;j++)
47       an.mat[i][j]=(i==j);
48     while (k)
49     {if (k%2==1)
50       an=an*zt;
51      zt=zt*zt;
52      k/=2;
53     }
54     return an;
55 }
56 int main(){
57     freopen ("ksm.in","r",stdin);
58     freopen ("ksm.out","w",stdout);
59     int i,j;
60     init();
61     m1=ksm(m2,n-1)*m1;
62     printf("%lld",m1.mat[1][1]);
63     return 0;
64 }

转载于:https://www.cnblogs.com/keximeiruguo/p/5947265.html

aaaaaaa……aaa(n个)%p的值 (矩阵快速幂)相关推荐

  1. nyoj 301递推求值 (矩阵+快速幂)

    题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=301 题意:给你一个递推公式:f(n)=a*f(n-2)+b*f(n-1)+c 并且告诉你a, ...

  2. hdu 6395Sequence【矩阵快速幂】【分块】

    Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total ...

  3. 蓝桥杯 算法提高 递推求值(矩阵快速幂)详解

    传送门 问题描述 已知递推公式: F(n, 1)=F(n-1, 2) + 2F(n-3, 1) + 5, F(n, 2)=F(n-1, 1) + 3F(n-3, 1) + 2F(n-3, 2) + 3 ...

  4. NYOJ 301 递推求值(矩阵快速幂)

    递推求值 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给你一个递推公式: f(x)=a*f(x-2)+b*f(x-1)+c 并给你f(1),f(2)的值,请求出f(n ...

  5. HDU 2243考研路茫茫——单词情结 (AC自动机+矩阵快速幂)

    背单词,始终是复习英语的重要环节.在荒废了3年大学生涯后,Lele也终于要开始背单词了. 一天,Lele在某本单词书上看到了一个根据词根来背单词的方法.比如"ab",放在单词前一般 ...

  6. 浅谈矩阵 矩阵快速幂 动态dp 矩阵求逆

    文章目录 1 矩阵 1.1 矩阵乘法 1.2 单位矩阵 1.3 矩阵乘法的结合律 1.4 矩阵快速幂 1.5 矩阵快速幂的应用 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 ...

  7. 矩阵快速幂详解--用矩阵幂解决的多种问题

    最经典的题目 以及洛谷一大堆相似题斐波那契升级版,广义斐波那契等等,都是相关的题目.一般而言我们求解斐波那契无非是不断地向前迭代,但是这样的效率实在是太低了.对于nnn的规模如此之大的题目应该如何求解 ...

  8. 矩阵快速幂+构造方法

    与快速幂一样,可以将递推式通过二进制的方式来进行优化,这个学了快速幂就是十分容易理解 大概的板子如下: struct mat///自己定义大小的矩阵 {ll m[11][11]; }; mat mul ...

  9. 【做题】SRM701 Div1 Hard - FibonacciStringSum——数学和式&矩阵快速幂

    原文链接 https://www.cnblogs.com/cly-none/p/SRM701Div1C.html 题意:定义"Fibonacci string"为没有连续1的01串 ...

最新文章

  1. 数据结构--数组队列的实现
  2. 这款AI耳机可以主宰你的情绪,决定让你是哭还是笑
  3. python导入处理txt文件-python怎么处理txt
  4. DPDK使用linux drivers(二十九)
  5. 韩文版ie8 启用java_只有在启用了javascript的情况下,IE8才会在IE8模式下重新加载崩溃...
  6. 如何修改cmd控制台默认编码为utf-8
  7. mysql command line client和mysql.exe输入密码后闪退问题解决方法
  8. zip unzip_zip和unzip上的Java要点
  9. mysql windows身份验证_SQL Server 2005 怎么就不能用Windows身份验证方式登录呢?
  10. 数字时代的抉择,金蝶 EBC 的破局
  11. ElasticSearch中的集群、节点、索引、文档、类型是什么?
  12. MTK 驱动(62)---eMMC RPMB分区介绍
  13. springboot项目解决跨域的几种方式
  14. 对于elemnet-ui的el-upload的使用总结(移除上传文件判断,action等问题)
  15. 有限元计算计算机配置,有限元分析计算对电脑配置有什么要求
  16. android 使用ios字体大小,ios和android上的字体大小不同
  17. Python自动化测试详解
  18. 设计一个用户注册页面,对用户输入的内容进行有效性验证,如用户名和密码不能为空,两次输入的密码必须相同,邮箱地址必须包含“@”符号等。
  19. 集装箱式数据中心机房
  20. 不朽凡人 第五百二十章 有脾气冲我来

热门文章

  1. 寒假CF- WA了不要怕!
  2. Qt designer设计界面
  3. 安装最新Spree出现error:spree_core requires will_paginate (= 3.0.pre2, runtime)
  4. C语言-转义字符注意事项
  5. 【数字信号处理】相关函数与线性卷积关系 ( 卷积概念 | 相关函数概念 | 相关函数与线性卷积对比 | x(-m) 共轭 与 y(m) 的卷积就是两个信号 位移 m 的相关函数 )
  6. 【错误记录】Android Studio 编译报错 ( Gradle 下载错误导致 Failed to open zip file 报错 )
  7. 【Android 安全】DEX 加密 ( 阶段总结 | 主应用 | 代理 Application | Java 工具 | 代码示例 ) ★
  8. 【软件工程】CMMI 能力成熟度模型集成 ( 简介 | 相关术语 | CMMI 等级评估次序 )
  9. 【组合数学】递推方程 ( 非齐次部分是指数的情况 | 非齐次部分是指数的情况示例 )
  10. 在 mac OS 中安装 xgboost python 包