3的幂的和

思路;

  矩阵快速幂;

    sn-1      3 1        sn

      *          =

  1      0 1     1

来,上代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;#define mod 1000000007struct NodeType {long long a[3][3];
};
struct NodeType ans;long long n;struct NodeType mul(NodeType pos)
{NodeType res;res.a[1][1]=0,res.a[1][2]=0;res.a[2][1]=0,res.a[2][2]=0;for(int i=1;i<=2;i++){for(int j=1;j<=2;j++){for(int v=1;v<=2;v++){res.a[i][j]=(res.a[i][j]+(pos.a[i][v]*pos.a[v][j])%mod)%mod;}}}return res;
}void poww(int mi)
{NodeType pos;pos.a[1][1]=3,pos.a[1][2]=1;pos.a[2][1]=0,pos.a[2][2]=1;while(mi>0){struct NodeType res;res.a[1][1]=0,res.a[1][2]=0;res.a[2][1]=0,res.a[2][2]=0;if(mi&1){for(int i=1;i<=2;i++){for(int j=1;j<=2;j++){for(int v=1;v<=2;v++){res.a[i][j]=(res.a[i][j]+(ans.a[i][v]*pos.a[v][j])%mod)%mod;}}}ans=res;}pos=mul(pos),mi=mi>>1;}
}int main()
{scanf("%lld",&n);n--;ans.a[1][1]=3,ans.a[1][2]=1;ans.a[2][1]=0,ans.a[2][2]=1;poww(n);cout<<(ans.a[1][1]+ans.a[1][2])%mod;return 0;
}

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6746831.html

AC日记——3的幂的和 51nod 1013相关推荐

  1. L. Poor God Water(ACM-ICPC 2018 焦作赛区网络预赛,ac自动机+矩阵快速幂 或 BM线性递推)

    描述 God Water likes to eat meat, fish and chocolate very much, but unfortunately, the doctor tells hi ...

  2. AC日记——数据流中的算法 51nod 1785

    数据流中的算法 思路: 线段树模拟: 时间刚刚卡在边界上,有时超时一个点,有时能过: 来,上代码: #include <cstdio> #include <cstring> # ...

  3. AC日记——可能的路径 51nod 1247

    可能的路径 思路: 看到题目想到gcd: 仔细一看是更相减损: 而gcd是更相减损的优化版: 所以,对于每组数据判断gcd是否相等就好: 来,上代码: #include <cstdio> ...

  4. POJ 2778 DNA Sequence [AC自动机 + 矩阵快速幂]

    http://poj.org/problem?id=2778 题意:给一些只由ACGT组成的模式串,问有多少种长度为n且不含有给出的模式串的DNA序列. 自动机的状态转换可以看成一个有向图(有重边的) ...

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

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

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

    题目链接 思路 假设让求长度为LLL且不包含词根的个数,对所有的词根建acacac自动机,然后用矩阵MMM表示可转移状态,最后最快速幂即可. 如何求长度不超过LLL且不包含LLL且不包含词根的个数,可 ...

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

    题目链接:点击查看 题目大意:给出 n 个词根,现在要求出长度不大于 len 的单词中,有多少单词包含至少一个词根 题目分析:如果我们反过来想,也就是求出来总的单词数,然后减去不包含词根的单词数,剩下 ...

  8. POJ - 2778 DNA Sequence(AC自动机+矩阵快速幂)

    题目链接:点击查看 题目大意:给出 n 个长度不大于 10 的字符串表示病毒串,再给出一个长度 len ,问长度为 len 的字符串中,有多少个字符串不含有病毒串作为子串 题目分析:因为病毒串的长度和 ...

  9. poj2778DNA Sequence (AC自动机+矩阵快速幂)

    转载请注明出处: http://www.cnblogs.com/fraud/           --by fraud DNA Sequence Time Limit: 1000MS   Memory ...

最新文章

  1. 【2020年BNN网络的SOTA—— ReActNet 】以简单的操作得到更高精度的二值神经网络
  2. 基于Smiles2vec预测化合物物理性质
  3. Nuke编辑工具包新版 Cara VR 插件发布
  4. 激光雷达选型指南 这2项重要指标却被很多人忽略
  5. html怎么让表格连接数据库,【前端】如何将html的table空白单元格合并?数据是循环从数据库里面读取的。...
  6. kpu 处理器_首轮融资即估值过亿,中科驭数用全新专用计算架构让芯片也能“私人订制”...
  7. SUSE Linux 维护笔记一
  8. TC第一次成为room leader
  9. in-list iterator
  10. delphi mysql 8.0_Delphi 8免费版
  11. Android 使用 Gradle 构建时,出现 Crunching Cruncher xxx.9.png failed 问题的解决方法
  12. c语言中逆序乘积,逆序乘积式(示例代码)
  13. 量子计算机采用超导技术吗,华人学者一作论文发现不寻常超导体,或可作为量子计算机的“硅”...
  14. 杭电多校第六场个人补题6 7 9 10 12
  15. 关于中层管理者任务传递方式的思考
  16. LOX-8 Grease Paste tufoil fluoramics
  17. Qt制作漂亮个性化的界面
  18. 【手机号验证/前端】Vue2+elementUI编写一个手机号验证码登录页面,路由式开发(附完整代码)
  19. FPGA零基础学习:基于FPGA的音乐蜂鸣器设计(附代码)
  20. PSP 编程导学(二)

热门文章

  1. Linux 下 新增Oracle10g 实例
  2. (转)CentOs 设置静态IP 方法
  3. [转][探讨]为什么说JavaScript是性价比最高的技术?
  4. vs2005的webbrowser控件如何接收鼠标事件
  5. Symbol Mc1000 快捷键 的 设置 事件 开发
  6. 朱晔和你聊Spring系列S1E3:Spring咖啡罐里的豆子
  7. es6重点笔记:数值,函数和数组
  8. Android数据适配-ExpandableListView
  9. 对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断
  10. 2月份Web服务器份额:排名不变 仅Microsoft份额上扬