AC日记——3的幂的和 51nod 1013
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相关推荐
- 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 ...
- AC日记——数据流中的算法 51nod 1785
数据流中的算法 思路: 线段树模拟: 时间刚刚卡在边界上,有时超时一个点,有时能过: 来,上代码: #include <cstdio> #include <cstring> # ...
- AC日记——可能的路径 51nod 1247
可能的路径 思路: 看到题目想到gcd: 仔细一看是更相减损: 而gcd是更相减损的优化版: 所以,对于每组数据判断gcd是否相等就好: 来,上代码: #include <cstdio> ...
- POJ 2778 DNA Sequence [AC自动机 + 矩阵快速幂]
http://poj.org/problem?id=2778 题意:给一些只由ACGT组成的模式串,问有多少种长度为n且不含有给出的模式串的DNA序列. 自动机的状态转换可以看成一个有向图(有重边的) ...
- HDU 2243考研路茫茫——单词情结 (AC自动机+矩阵快速幂)
背单词,始终是复习英语的重要环节.在荒废了3年大学生涯后,Lele也终于要开始背单词了. 一天,Lele在某本单词书上看到了一个根据词根来背单词的方法.比如"ab",放在单词前一般 ...
- HDU -2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
题目链接 思路 假设让求长度为LLL且不包含词根的个数,对所有的词根建acacac自动机,然后用矩阵MMM表示可转移状态,最后最快速幂即可. 如何求长度不超过LLL且不包含LLL且不包含词根的个数,可 ...
- HDU - 2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
题目链接:点击查看 题目大意:给出 n 个词根,现在要求出长度不大于 len 的单词中,有多少单词包含至少一个词根 题目分析:如果我们反过来想,也就是求出来总的单词数,然后减去不包含词根的单词数,剩下 ...
- POJ - 2778 DNA Sequence(AC自动机+矩阵快速幂)
题目链接:点击查看 题目大意:给出 n 个长度不大于 10 的字符串表示病毒串,再给出一个长度 len ,问长度为 len 的字符串中,有多少个字符串不含有病毒串作为子串 题目分析:因为病毒串的长度和 ...
- poj2778DNA Sequence (AC自动机+矩阵快速幂)
转载请注明出处: http://www.cnblogs.com/fraud/ --by fraud DNA Sequence Time Limit: 1000MS Memory ...
最新文章
- 【2020年BNN网络的SOTA—— ReActNet 】以简单的操作得到更高精度的二值神经网络
- 基于Smiles2vec预测化合物物理性质
- Nuke编辑工具包新版 Cara VR 插件发布
- 激光雷达选型指南 这2项重要指标却被很多人忽略
- html怎么让表格连接数据库,【前端】如何将html的table空白单元格合并?数据是循环从数据库里面读取的。...
- kpu 处理器_首轮融资即估值过亿,中科驭数用全新专用计算架构让芯片也能“私人订制”...
- SUSE Linux 维护笔记一
- TC第一次成为room leader
- in-list iterator
- delphi mysql 8.0_Delphi 8免费版
- Android 使用 Gradle 构建时,出现 Crunching Cruncher xxx.9.png failed 问题的解决方法
- c语言中逆序乘积,逆序乘积式(示例代码)
- 量子计算机采用超导技术吗,华人学者一作论文发现不寻常超导体,或可作为量子计算机的“硅”...
- 杭电多校第六场个人补题6 7 9 10 12
- 关于中层管理者任务传递方式的思考
- LOX-8 Grease Paste tufoil fluoramics
- Qt制作漂亮个性化的界面
- 【手机号验证/前端】Vue2+elementUI编写一个手机号验证码登录页面,路由式开发(附完整代码)
- FPGA零基础学习:基于FPGA的音乐蜂鸣器设计(附代码)
- PSP 编程导学(二)
热门文章
- Linux 下 新增Oracle10g 实例
- (转)CentOs 设置静态IP 方法
- [转][探讨]为什么说JavaScript是性价比最高的技术?
- vs2005的webbrowser控件如何接收鼠标事件
- Symbol Mc1000 快捷键 的 设置 事件 开发
- 朱晔和你聊Spring系列S1E3:Spring咖啡罐里的豆子
- es6重点笔记:数值,函数和数组
- Android数据适配-ExpandableListView
- 对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断
- 2月份Web服务器份额:排名不变 仅Microsoft份额上扬