【数论】矩阵快速幂

参考:矩阵快速幂算法详细解析

放个板子

int M, n;struct node // 定义一个矩阵类型的结构体
{int m[100][100];
} ans, res; // ans是结果,res是最初的方阵node mul(node A, node B)
{int i, j, k;node temp;				// 定义一个临时矩阵,存放A*B的结果for (i = 0; i < n; i++) // 先全部定义为0for (j = 0; j < n; j++)temp.m[i][j] = 0;for (i = 0; i < n; i++) // 矩阵相乘for (j = 0; j < n; j++)for (k = 0; k < n; k++)temp.m[i][j] += A.m[i][k] * B.m[k][j];return temp;
}void qpow(int M, int n)
{int i, j;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i == j) ans.m[i][j] = 1;else ans.m[i][j] = 0;}} // 这里是思想的转换,之前我们定义为1去计算,所以我们先初始化ans为单位矩阵,我们知道单位矩阵与任何矩阵的乘积为其本身while (M) // 快速幂{if (M & 1) ans = mul(ans, res);res = mul(res, res);M = M >> 1;}
}
int main()
{cin >> n; // 方阵的阶数cin >> M; // 指数int i, j;for (i = 0; i < n; i++)for (j = 0; j < n; j++)cin >> res.m[i][j]; // 初始化方阵resqpow(M, n);	// 进行快速幂for (i = 0; i < n; i++) // 输出{for (j = 0; j < n; j++)printf("%d ", ans.m[i][j]);printf("\n");}return 0;
}

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

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

相关文章

面试复盘7——后端开发

前言 一面&#xff08;2024-1.25&#xff09; 首先上来是自我介绍。 &#xff08;这里自我介绍时候项目只说了技术栈&#xff0c;没有说内容&#xff0c;不知道好不好&#xff09; &#xff08;在校经历说的一点点口语化了&#xff09; 先问的近期实习经历&#xff0c;和我确…

js和node事件循环区别

javaScript事件循环机制 一、是什么&#xff1f; JavaScript是一门单线程语言&#xff0c;同一时间只能做一件事&#xff0c;但并不意味着单线程就是阻塞&#xff0c;而实现单线程非阻塞的方式就是事件循环。 JavaScript中&#xff0c;所有的任务都可以分为&#xff1a; 同步…

93.网游逆向分析与插件开发-游戏窗口化助手-升级经验数据获取的逆向分析

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;显示游戏数据到小助手UI 码云地址&#xff08;游戏窗口化助手 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;852c339f5e4c103390b123e0eaed…

浅析现代计算机启动流程

文章目录 前言启动流程概述磁盘分区格式MBR磁盘GPT磁盘隐藏分区 传统BIOS引导传统BIOS启动流程 UEFI引导UEFI引导程序UEFI启动流程 引导加载程序启动操作系统相关参考 前言 现代计算机的启动是一个漫长的流程&#xff0c;这个流程中会涉及到各种硬件的配置与交互&#xff0c;包…

Python接口自动化测试框架运行原理及流程

这篇文章主要介绍了Python接口自动化测试框架运行原理及流程,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 本文总结分享介绍接口测试框架开发&#xff0c;环境使用python3selenium3unittestddtrequests测试框…

【GAMES101】Lecture 17 材质

目录 材质 漫反射 镜面反射 折射-Snell’s Law Fresnel Reflection / Term&#xff08;菲涅耳项&#xff09; 微表面模型 各向同性与各向异性 BRDF的性质 测量BRDF 材质 渲染方程中的BRDF描述了物体是如何与光线作用的&#xff0c;而物体的材质决定了它看起来是怎么样…

【深度学习理论】持续更新

文章目录 1.统计学习理论 1.统计学习理论 统计学习理论&#xff0c;一款适合零成本搞深度学习的大冤种的方向 从人类学习到机器学习的对比&#xff08;学习的过程分为归纳和演绎 &#xff09;&#xff0c;引出泛化和过拟合的概念。 如何表示归纳的函数规律呢&#xff1f;以监督…

CVE-2024-0352:Likeshop任意文件上传漏洞复现 [附POC]

文章目录 Likeshop任意文件上传(CVE-2024-0352)漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议Likeshop任意文件上传(CVE-2024-0352)漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关…

什么是可解释AI

可解释性AI&#xff08;XAI&#xff09; 可解释性AI&#xff08;XAI&#xff09;旨在提高人工智能系统的透明度和可理解性&#xff0c;使人们更好地理解AI的决策过程和原理。随着AI技术的广泛应用&#xff0c;XAI成为了一个备受关注的重要领域。它不仅有助于建立人们对AI的信任…

RTthread线程间通信(邮箱,消息队列,信号/软件中断)---01实际使用API函数

layout: post title: “RT-Thread线程间通信” date: 2024-2-5 15:39:08 0800 tags: RT-Thread 线程间通信 这一篇是实际使用, 代码分析看后面的文章 一般可以使用全局变量以及线程间同步进行实现 RT-Thread也提供了一部分的通信机制 邮箱 一个线程发送, 另外的线程接受信息…

C++从零开始的打怪升级之路(day32)

这是关于一个普通双非本科大一学生的C的学习记录贴 在此前&#xff0c;我学了一点点C语言还有简单的数据结构&#xff0c;如果有小伙伴想和我一起学习的&#xff0c;可以私信我交流分享学习资料 那么开启正题 今天分享的是关于list的模拟实现&#xff0c;今天只实现一部分基…

高清符合要求的SCI图片使用RStudio导出

4.图片格式区别和常识 在计算机中&#xff0c;JPEG&#xff08;发音为jay-peg, IPA&#xff1a;[ˈdʒeɪpɛg]&#xff09;是一种针对照片视频而广泛使用的有损压缩标准方法。这个名称代表Joint Photographic Experts Group&#xff08;联合图像专家小组&#xff09;。此团队创…

微信小程序学习指南:从基础知识到代码展示

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Qt 常见容器类用法(一)

目录 QMap类 QHash类 QVector类 QMap类 QMap<key,T>提供一个从类型为Key的键到类型为T的值的映射。通常&#xff0c;QMap存储的数据形式是一个键对应一个值&#xff0c;并且按照键Key的次序存储数据。为了能够支持一键多值的情况&#xff0c;QMap提供QMap<key,T&g…

0206作业

TCP&#xff08;传输控制协议&#xff09;和 UDP&#xff08;用户数据报协议&#xff09;是两种常用的网络传输协议。它们之间的主要区别在于&#xff1a; 可靠性&#xff1a;TCP 是一种可靠的传输协议&#xff0c;它提供了数据传输的确认、重传和排序功能。如果数据在传输过程…

假期day4,链表增加与删除(2024/2/5)

单链表头插增加 Linklist insert_head(datatype element,Linklist head) {//创建新节点 Linklist screate_node();if(NULLs)return head; s->dataelement;//1,判断链表为空if(NULLhead){heads;}else //链表不为空{s->nexthead;heads;}return head; }单链表头删除 Linkl…

Bug地狱 #1 突然宕机,企业级应用到底怎么了

Bug地狱 #1 突然宕机&#xff0c;企业级应用到底怎么了 背景 目前就职的企业经营是一家服务小微门店Saas企业&#xff0c;以进销存管理和客户营销为主体提供订阅服务。项目正式上线可以说是从13年&#xff0c;基础架构是Web和后端使用C# .net&#xff0c;数据库使用SQL Serve…

分享76个节日PPT,总有一款适合您

分享76个节日PPT&#xff0c;总有一款适合您 76个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1-j7toLaBUBAJbkd85xe4VQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

C#验证字符串是否大写、小写,正则表达式vs用Char.IsUpper和Char.IsLower方法遍历字符数组

目录 一、使用的方法 1.正则表达式 2.用Char.IsUpper或Char.IsLower方法 二、源代码 1.源码 2.生成效果 一、使用的方法 1.正则表达式 正则表达式“^[A-Z]$”&#xff0c;其中[A-Z]表示匹配一个到多个大写字母。 正则表达式“^[a-z]$”&#xff0c;其中[a-z]表示匹配一个…

谈一谈深度学习与机器学习

深度学习是机器学习的一个子领域&#xff0c;其核心是使用多层神经网络来学习数据的复杂表示。机器学习是一种更广泛的概念&#xff0c;涵盖了许多不同的方法和技术&#xff0c;包括深度学习在内。 关系&#xff1a; 深度学习是机器学习的一种方法&#xff1a;深度学习利用多…