【矩阵乘法】Matrix Power Series(poj 3233)

Matrix Power Series

poj 3233

题目大意

给你一个矩阵A,让你求S=A+A2+A3+…+AkS = A + A^2 + A^3 + … + A^kS=A+A2+A3++Ak

输入样例

2 2 4
0 1
1 1

输出样例

1 2
2 3

n⩽30,k⩽109,m<104,a∈A,a⩽32768n \leqslant 30,k \leqslant 10^9,m < 10^4,a\in A,a \leqslant32768n30,k109,m<104,aA,a32768

解题思路

如果直接计算k遍会超时
看到矩阵我们考率矩阵乘法(doge)
我们设矩阵[Ai−1Si−2]\begin{bmatrix}A^{i-1} & S_{i - 2}\end{bmatrix}[Ai1Si2](A,S均为n∗nn*nnn的矩阵,Si=A+A1+A2…+AiS_i=A+A^1+A^2…+A^iSi=A+A1+A2+Ai
那么有[Aisi−1]=[Ai−1si−2]×[A101]\begin{bmatrix}A^i & s_{i-1}\end{bmatrix}=\begin{bmatrix}A^{i-1} & s_{i-2}\end{bmatrix} \times \begin{bmatrix}A & 1\\ 0 & 1\end{bmatrix}[Aisi1]=[Ai1si2]×[A011]
注:1为单位矩阵
这样就可以快速幂了

代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define wyc mod
ll n, k, mod;
struct matrix
{ll n, m, a[100][100];matrix operator *(const matrix &b) const//矩阵乘法{matrix c;c.n = n;c.m = b.m;for (ll i = 1; i <= c.n; ++i)for (ll j = 1; j <= c.m; ++j)c.a[i][j] = 0;for (ll i = 1; i <= n; ++i)for (ll k = 1; k <= m; ++k)for (ll j = 1; j <= c.m; ++j)c.a[i][j] = (c.a[i][j] + a[i][k] * b.a[k][j] % wyc) % wyc;return c;}
}A, B;
void Counting(ll g)//快速幂
{while(g){if (g & 1) A = A * B;B = B * B;g >>= 1; }
}
int main()
{scanf("%lld%lld%lld", &n, &k, &mod);A.n = n;A.m = n * 2;B.n = n * 2;B.m = n * 2; for (ll i = 1; i <= n; ++i)for (ll j = 1; j <= n; ++j){scanf("%lld", &A.a[i][j]);B.a[i][j] = A.a[i][j];}for (ll i = 1; i <= n; ++i)B.a[i][i + n] = B.a[i + n][i + n] = 1;//建初始矩阵Counting(k);for (ll i = 1; i <= n; ++i){for (ll j = 1; j <= n; ++j)printf("%lld ", A.a[i][j + n] % wyc);putchar(10);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P3702-[SDOI2017]序列计数【矩阵乘法】

正题 题目链接:https://www.luogu.com.cn/problem/P3702 题目大意 nnn个不超过mmm的正整数&#xff0c;要求和是ppp的倍数且至少有一个质数。 解题思路 用总方案数减去只有非质数的方案数即可。 线性筛出所有质数&#xff0c;然后矩阵乘法转移即可。 时间复杂度O(mp3log⁡n…

字符串hash(一)

很久没遇到过hash的题了&#xff0c;今天来重新温故一下 文章目录序言常用的几个字符串hash方法&#xff1a;hash公式&#xff08;自然溢出&#xff09;讲解模板单hash讲解模板双hash讲解代码总结序言 你有没有想过&#xff0c;字符串存储一大溜&#xff0c;比较时又麻烦又折腾…

CAP 2.3版本发布,支持 MongoDB

前言经过2个月的调整及测试&#xff0c;CAP 2.3 版本终于发布了&#xff0c;这个版本最大的特性就是对于 MongoDB 的支持&#xff0c;感谢博客园团队的keke同学对于 MongoDB 支持所提供的 PR&#xff0c;相信随着博客园的使用&#xff0c;CAP 会越来越多的帮助到更多的人。CAP …

【矩阵乘法】递推(ssl 1532)

递推 ssl 1532 题目大意 给出数列a0,a1…ana_0,a_1…a_na0​,a1​…an​和fff的前n−1n-1n−1项f0,f1…fn−1f_0,f_1…f_{n-1}f0​,f1​…fn−1​ fia0∗fi−na1∗fi−(n−1)...an−1∗fi−1anf_ia_0*f_{i-n}a_1*f_{i-(n-1)}...a_{n-1}*f_{i-1}a_nfi​a0​∗fi−n​a1​∗fi…

P3185-[HNOI2007]分裂游戏【SG函数】

正题 题目链接:https://www.luogu.com.cn/problem/P3185 题目大意 nnn个瓶子&#xff0c;开始第iii个里有pip_ipi​个糖果&#xff0c;操作的人可以找到一个三元组(i,j,k)i<j≤k(i,j,k)\ i<j\leq k(i,j,k) i<j≤k然后取出iii中的一个糖果&#xff0c;在j,kj,kj,k中各…

牛客网 【每日一题】5月9日 过河

链接&#xff1a; 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 131072K&#xff0c;其他语言262144K 64bit IO Format: %lld题目描述 在河上有一座独木桥&#xff0c;一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子&#xff0…

.NETCore 实现容器化Docker与私有镜像仓库管理

一、Docker介绍Docker是用Go语言编写基于Linux操作系统的一些特性开发的&#xff0c;其提供了操作系统级别的抽象&#xff0c;是一种容器管理技术&#xff0c;它隔离了应用程序对基础架构&#xff08;操作系统等&#xff09;的依赖。相较于虚拟机而言&#xff0c;Docker共享的是…

【矩阵乘法】幼儿园数学题I(ssl 2513)

幼儿园数学题I ssl 2513 题目大意 定义fn(512)n−1f_n\left ( \frac{\sqrt{5}1}{2}\right )^{n-1}fn​(25​1​)n−1&#xff0c;求前n项的和,&#xff08;对109710^971097取模&#xff09;&#xff08;题目貌似出了些问题&#xff0c;实际上fff等价于斐波那契数列&#xff…

P4492-[HAOI2018]苹果树【dp】

正题 题目链接:https://www.luogu.com.cn/problem/P4492 题目大意 开始有一个节点&#xff0c;第iii次在一个儿子不超过222的节点下面长出一个新儿子编号为iii。求所有方案下树的路径长度和。 解题思路 考虑计算每条边的贡献&#xff0c;设gig_igi​表示大小为iii的树的形态…

字符串hash(二)

从上一届已经讲了字符串hash的方法&#xff0c;hash后怎么用也很重要 文章目录一.查询子串的hash值查询子串减去期中一个字符后的hash值查询两个子串拼接的hash值**hash的模板&#xff08;自然溢出&#xff09;**char s[10010]; ull hashs(char s[]) {int lenstrlen(s);ull bas…

记一次.net core 集成vue 实践

简介以前我们总是喜欢用服务端渲染前端&#xff08;虽然也有htmlajax这种做法&#xff09;&#xff0c;后来node诞生了&#xff0c;前端工具链&#xff08;不如说生态&#xff09;诞生了&#xff0c;大家都开始了前端的重构之路&#xff0c;本文将以一简单案例介绍下我们是如何…

【矩阵乘法】幼儿园数学题II(ssl 2514)

幼儿园数学题II ssl 2514 题目大意 给出式子 f(1)1,f(2)1f(1)1,f(2)1f(1)1,f(2)1 f(n)−f(3)−f(4)−f(5)−...−f(n−3)−f(n−2)(n4)(n−1)/2f(n)-f(3)-f(4)-f(5)-...-f(n-3)-f(n-2)(n4)(n-1)/2f(n)−f(3)−f(4)−f(5)−...−f(n−3)−f(n−2)(n4)(n−1)/2 让你求前n项的和…

P3705-[SDOI2017]新生舞会【0/1分数规划,费用流】

正题 题目链接:https://www.luogu.com.cn/problem/P3705 题目大意 nnn对人&#xff0c;给出两个n∗nn*nn∗n的矩形a,ba,ba,b。求一个nnn配对满足∑i1naxi,yi∑i1nbxi,yi\frac{\sum_{i1}^na_{x_i,y_i}}{\sum_{i1}^nb_{x_i,y_i}}∑i1n​bxi​,yi​​∑i1n​axi​,yi​​​最大。…

最短路径

SPFA (Bellman-Ford 的队列优化版本)&#xff1a; 1、求单源最短路径&#xff0c;即每个点到源点的最短距离 2、可以处理负权边的情况 3、可以判断是否出现负权回路 #include<iostream> #include<vector> #include<cstring> #include<queue> using…

牛客网 【每日一题】5月11日题目精讲 Moovie Mooving

题目链接 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld题目描述 Bessie is out at the movies. Being mischievous as always, she has decided to hide from Farmer John for L (1 …

AspNetCore中使用Ocelot之 IdentityServer4

前言&#xff1a;Ocelot网关是基于AspNetCore开发的可扩展的高性能的企业级Api网关&#xff0c;目前已经基于2.0 升级版本升级&#xff0c;在使用AspNetCore 开发的时候可以使用2.0版本了&#xff0c;开源项目Ocelot 张大队长是主力的参与人员&#xff0c;以前提起张大队前面都…

P3177-[HAOI2015]树上染色【树形dp】

正题 题目链接:https://www.luogu.com.cn/problem/P3177 题目大意 nnn个点的一棵树&#xff0c;将kkk个点染成黑色&#xff0c;其他是白色&#xff0c;使得黑点之间和白点之间两两距离和最大。 解题思路 也是统计每条边的贡献&#xff0c;设fx,if_{x,i}fx,i​表示节点xxx的子…

Nginx主配置文件详解【笔记】

1 Nginx配置文件目录结构 最近使用Nginx做负载均衡&#xff0c;顺便整理Nginx配置文件笔记如下所述&#xff0c;本文主要梳理主配置文件各属性的作用。使用yum安装好Nginx后&#xff0c;可以在默认路径&#xff08;/etc/nginx&#xff09;看到如下配置文件。 /etc/nginx/ ├─…

【矩阵乘法】Quad Tiling(poj 3420)

Quad Tiling poj 3420 题目大意 在一个4n的棋盘上&#xff0c;用12的多米诺骨牌把他填满&#xff0c;问有多少种方法 输入样例 1 10000 3 10000 5 10000 0 0 输出样例 1 11 95数据范围 1⩽N⩽1091 \leqslant N \leqslant 10^91⩽N⩽109 0<M⩽1050 < M \leqslant 10…

牛客网 【每日一题】5月12日题目精讲 模拟战役

链接&#xff1a; 文章目录题目描述题解&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld题目描述 齐齐和司机在玩单机游戏《红色警戒IV》&#xff0c;现在他们的游戏地图被划…