博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 6050 Funny Function 矩阵快速幂
阅读量:5914 次
发布时间:2019-06-19

本文共 1011 字,大约阅读时间需要 3 分钟。

就算告诉我是矩阵快速幂我也推不出递推式呀!!!

官方题解:

对于任意i>=1,当j>=3时,有通过归纳法可以得到 

进而推导出 

后来自己重新推导了一遍

 

 

#include 
#include
#include
#include
#include
using namespace std;typedef long long ll;const ll Mod=1e9+7;const int msize=2;const int N=4;struct Mat{ ll mat[N][N];};Mat operator *(Mat a, Mat b){ Mat c; memset(c.mat, 0, sizeof(c.mat)); for(int k = 0; k < msize; ++k) for(int i = 0; i < msize; ++i) if(a.mat[i][k]) for(int j = 0; j < msize; ++j) if(b.mat[k][j]) c.mat[i][j] = (c.mat[i][j] +a.mat[i][k] * b.mat[k][j])%Mod; return c;}Mat operator ^(Mat a, ll k){ Mat c; memset(c.mat,0,sizeof(c.mat)); for(int i = 0; i < msize; ++i) c.mat[i][i]=1; for(; k; k >>= 1) { if(k&1) c = c*a; a = a*a; } return c;}Mat operator -(Mat a,Mat b){ for(int i=0; i

 

转载于:https://www.cnblogs.com/pach/p/7251626.html

你可能感兴趣的文章
一文带你快速了解,python是如何解析XML文件
查看>>
如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招
查看>>
云越发展,锁定问题就会越严重?
查看>>
什么样人适合学平面设计?零门槛入门工具收藏
查看>>
用户访问网页的流程原理
查看>>
FastDfs 文件系统迁移
查看>>
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
查看>>
数字格式化工具:Numeral.js 简介
查看>>
Django登录后,自动返回原操作页面的方法
查看>>
UltraEdit批量删除空行
查看>>
运行第一个容器 - 每天5分钟玩转容器技术(4)
查看>>
mysql实现vsftp虚拟用户访问
查看>>
(LNMP) How To Install Linux, nginx, MySQL, PHP
查看>>
write back vs write through
查看>>
各种链接
查看>>
开发工程师未来应具备的能力
查看>>
我的友情链接
查看>>
《Spring实战》第四版读书笔记 第一章 Spring之旅
查看>>
那些年,一起学的Java 2-4
查看>>
RedHat已更改其开源许可规则
查看>>