一.矩阵与模板

【模板】矩阵求和

时间限制:1秒        内存限制:128M

题目描述

给出两个𝑛行𝑚列的矩阵,求两个矩阵的和

输入描述

第一行输入两个以空格分隔的整数𝑛,𝑚,表示矩阵的行数和列数

接下来的𝑛行,每行𝑚个以空格分隔的实数𝑇1[𝑖][𝑗],表示第一个矩阵

接下来的𝑛行,每行m个以空格分隔的实数𝑇2[𝑖][𝑗],表示第二个矩阵

1≤𝑛≤100,1≤𝑚≤100

0≤𝑇1[𝑖][𝑗]≤1000,0≤𝑇2[𝑖][𝑗]≤1000

cout << fixed << setprecision(2) << x; 或者 printf(“%.2lf”,x); 可以用来输出小数x并保留两位小数

输出描述

输出n行,每行包含𝑚个以空格分隔的实数,表示两个矩阵相加的结果

矩阵中的实数都保留2位小数

样例输入

  1. 2 3
  2. 1.1 1.2 1.3
  3. 2.1 2.2 2.3
  4. 1.1 1.2 1.3
  5. 2.1 2.2 2.3

样例输出

  1. 2.20 2.40 2.60
  2. 4.20 4.40 4.60
#include<iostream>
using namespace std;
double a[105][105],o;
int n,m;
int main(){cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>o;a[i][j]+=o;}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>o;a[i][j]+=o;}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)printf("%.2lf ",a[i][j]);cout<<"\n";}return 0;
}

【模板】矩阵乘法

时间限制:1秒        内存限制:128M

题目描述

给定两个矩阵𝑎,𝑏求矩阵𝑐=𝑎∗𝑏

输入描述

第一行四个整数𝑚1,𝑛1,𝑚2,𝑛2,代表第一个矩阵和第二个矩阵的列数和行数。

接下来𝑛1行,每行m1个整数,代表第一个矩阵。

之后𝑛2行,每行m2个整数,代表第二个矩阵。

数据保证𝑚1=𝑛2。所有的输入数据不超过100

输出描述

输出𝑛1行,每行𝑚2个整数,代表矩阵𝑐。

样例输入1

  1. 2 2 2 2
  2. 2 2
  3. 2 2
  4. 2 2
  5. 2 2

样例输出1

  1. 8 8
  2. 8 8

样例输入2

  1. 2 2 2 2
  2. 1 2
  3. 3 1
  4. 2 5
  5. 1 7

样例输出2

  1. 4 19
  2. 7 22
#include<iostream>
using namespace std;
const int N = 105;
int n1,n2,m1,m2;
int a[N][N],b[N][N],c[N][N];
int main(){cin>>m1>>n1>>m2>>n2;for(int i=1;i<=n1;i++)for(int j=1;j<=m1;j++)cin>>a[i][j];for(int i=1;i<=n2;i++)for(int j=1;j<=m2;j++)cin>>b[i][j];for(int i=1;i<=n1;i++){for(int j=1;j<=m2;j++){for(int k=1;k<=m1;k++){c[i][j]+=a[i][k]*b[k][j];}}}for(int i=1;i<=n1;i++){for(int j=1;j<=m2;j++){cout<<c[i][j]<<" ";}cout<<"\n";}return 0;
}

 【模板】矩阵加速

时间限制:1秒        内存限制:128M

题目描述

已知一个数列a,满足:

求𝑎数列的第𝑛项模10^9+7的值。

输入描述

第一行一个整数𝑇(1≤𝑇≤100),表示询问的次数。

以下𝑇个正整数𝑛(1≤𝑛≤2×10^9)。

输出描述

每行输出一个非负整数表示答案。

样例输入

  1. 3
  2. 6
  3. 8
  4. 10

样例输出

  1. 4
  2. 9
  3. 19
#include<iostream>
#include<cstring>
using namespace std;
#define ll long long
const int N = 2;
const int mod = 1e9+7;
ll a[N][N]={{1,1},{1,0}};
ll s[N][N]={{1,1},{0,0}};
ll n,T;
struct Mat//封装好的矩阵操作
{#define int long longint a[105][105];int r, c;Mat(int _r = 0, int _c = 0){r = _r, c = _c;memset(a, 0, sizeof(a));if (c == 0)c = r; //这样传入一个参数可以构造方阵}void unit(){ //将自身变成单位矩阵memset(a, 0, sizeof(a));for (int i = 1; i <= r; i++)a[i][i] = 1;}friend Mat operator+(Mat x, Mat y){Mat ans(x.r, x.c);for (int i = 1; i <= x.r; i++)for (int j = 1; j <= x.c; j++)ans.a[i][j] = x.a[i][j] + y.a[i][j];return ans;}friend Mat operator-(Mat x, Mat y){Mat ans(x.r, x.c);for (int i = 1; i <= x.r; i++)for (int j = 1; j <= x.c; j++)ans.a[i][j] = x.a[i][j] - y.a[i][j];return ans;}friend Mat operator*(Mat x, Mat y){Mat ans(x.r, y.c);for (int i = 1; i <= x.r; i++)for (int j = 1; j <= y.c; j++)for (int k = 1; k <= x.c; k++)ans.a[i][j] += x.a[i][k] * y.a[k][j];return ans;}friend Mat operator%(Mat x, int t){for (int i = 1; i <= x.r; i++)for (int j = 1; j <= x.c; j++)x.a[i][j] %= t;return x;}void out(){for (int i = 1; i <= r; i++){for (int j = 1; j <= c; j++)cout << a[i][j] << ' ';cout << endl;}}Mat pow(ll b){Mat ans(r, c), a = *this;ans.unit();while (b){if (b & 1)ans = ans * a;a = a * a;b >>= 1;}return ans;}Mat pow(ll b, ll p){Mat ans(r, c), a = *this;ans.unit();while (b){if (b & 1)ans = ans * a % p;a = a * a % p;b >>= 1;}return ans;}#undef int
};
int main(){cin>>T;while(T--){cin>>n;if(n<=3){cout<<"1\n";continue;}Mat a(3),b(3);a.a[1][1]=1,a.a[1][2]=1,a.a[1][3]=1;b.a[1][1]=b.a[1][2]=b.a[2][3]=b.a[3][1]=1;a=a*b.pow(n-3,mod)%mod;cout<<a.a[1][1]<<"\n";}return 0;
}

 

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

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

相关文章

rk3588获取探维雷达数据

可以在上期部署完 FASTLIO 的工作空间内&#xff0c;继续部署探维雷达的驱动程序。不要问为什么不用 mid360&#xff0c;因为我手上只有探维雷达。 探维雷达的驱动链接&#xff1a;https://github.com/TanwayLab/tanwaylidar_view/blob/main/README.md 下载驱动并编译 因为沿…

HTML简介,初步了解HTML

<html> <body> <h1>我的第一个标题</h1> <p1>我的第一个段落</p1> </body> </html> 什么是HTML HTML是用来描述网页的一种语言。 HTML指的是超文本标记语言。 HTML不是一种编程语言&#xff0c;而是一种标记语言。 标记语…

ARM集群服务器 定义

ARM集群服务器的核心定义可归纳为以下要点&#xff1a; 一、核心定义 ARM集群服务器是将‌多个基于ARM架构的处理器节点‌集成在单一物理机箱内&#xff0c;通过高速网络互联形成的分布式计算系统。每个节点均具备独立的计算单元&#xff08;如CPU、GPU/NPU&#xff09;、内存…

进程和线程的区别?

进程&#xff08;Process&#xff09;和线程&#xff08;Thread&#xff09;是操作系统资源分配和调度的核心概念&#xff0c;它们的区别主要体现在以下几个方面&#xff1a; 1. ​​定义与资源分配​​ ​​进程​​ 是程序的​​一次执行实例​​&#xff0c;拥有独立的地址空…

AR 学习:开启未来学习新视界​

AR 学习&#xff0c;即增强现实学习&#xff0c;是一种创新的学习方式&#xff0c;它巧妙地将增强现实技术融入到教育领域。简单来说&#xff0c;就是利用 AR 技术把虚拟的信息和现实场景完美融合&#xff0c;为学习者打造出一个沉浸式的学习环境。AR 学习打破了传统学习的边界…

C++并发编程-4.unique_lock,共享锁和递归锁

本文介绍C 并发中使用的其他类型的锁&#xff0c;包括unique_lock&#xff0c;shared_lock, 以及recursive_lock等。shared_lock和unique_lock比较常用&#xff0c;而recursive_lock用的不多&#xff0c;或尽可能规避用这种锁。 unique_lock unique_lock和lock_guard基本用法…

stm32 freertos下基于 hal库的模拟I2C驱动实现

一 前言 最近搞了两个项目&#xff0c;调了一版freertos下基于hal库得模拟I2C驱动&#xff0c;非常实用&#xff0c;直接拷贝就能用&#xff0c;这里做下记录&#xff0c;主要用到如下四个文件&#xff1a; delay.cdelay.hi2cc.ci2cc.h 二 代码实现 delay.c #include "…

文心大模型 4.5 系列开源首发:技术深度解析与应用指南

文心大模型 4.5 系列开源首发&#xff1a;技术深度解析与应用指南 2025 年 6 月 30 日&#xff0c;百度正式在国内领先的开源平台 GitCode 发布文心大模型 4.5 系列开源模型。此次开源不仅覆盖了从数亿到数百亿参数的多种规模&#xff0c;还在多模态理解、指令遵循、世界知识记…

智能制造——58页智慧工厂解决方案【附全文阅读】

适应人群为制造业企业管理者、技术人员及规划改造团队。主要内容是以 JetLinks IoT 平台为基础&#xff0c;构建涵盖设备层、网络层、平台层和应用层的智慧工厂体系&#xff0c;通过多种通信协议实现设备互联&#xff0c;利用大数据、AI 等技术实现数据采集与处理、设备全生命周…

DeepSeek16-open-webui Pipelines开发填坑

一、虚拟环境安装 mkdir open_webui_pipelines cd open_webui_pipelines python -m venv py3119_env call py3119_env\Scripts\activate 二、下载服务以及安装依赖 git clone https://github.com/open-webui/pipelines.git cd pipelines pip install -r requirements.txt三、…

兰亭妙微APP 界面设计与软件开发综合服务商

兰亭妙微作为 APP 界面设计公司与软件开发公司&#xff0c;自 2011 年成立以来&#xff0c;由清华团队主导&#xff0c;在软件和互联网 UI/UE 设计开发领域发展 16 年&#xff0c;积累了一定的行业经验。 在 APP 界面设计方面&#xff0c;我们的团队包含交互设计师、用户体验相…

【算法】动态规划:1137. 第 N 个泰波那契数

1137. 第 N 个泰波那契数 简单 相关标签 premium lock icon 相关企业 提示 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 示例 1&#xff1a; 输入&am…

[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的校园家教兼职信息交流平台管理系统,推荐!

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本校园家教兼职信息交流平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的…

vue-33(实践练习:使用 Nuxt.js 和 SSR 构建一个简单的博客)

实践练习:使用 Nuxt.js 和 SSR 构建一个简单的博客 使用 Nuxt.js 和 SSR 构建一个简单的博客是巩固你对服务器端渲染理解以及 Nuxt.js 如何简化这一过程的好方法。这个练习将带你完成设置基本博客结构、获取数据并以用户友好的格式展示,同时利用 SSR 的优势来提升 SEO 和性能…

如何在 .Net 7 中使用 MQTT 客户端

介绍 MQTT&#xff08;消息队列遥测传输&#xff09;是一种轻量级消息传递协议&#xff0c;专为资源受限的环境而设计。MQTT 广泛应用于物联网 (IoT) 和机器对机器 (M2M) 通信。 本文将讨论如何在 .NET 7 中实现 MQTT 消费者。我们将使用 MQTTnet 库&#xff0c;这是 C# 中的高…

云上攻防—Docker安全容器逃逸特权模式危险挂载

前言 之前分享的是云服务安全&#xff0c;今天开始云原生安全&#xff0c;安全道路依旧很长。 什么是Docker呢&#xff0c;它是开源的容器化平台&#xff0c;用于开发、部署和运行应用程序。它通过将应用程序及其依赖项打包在轻量级的容器中&#xff0c;实现环境一致性、快速…

2025API 开发工具Apipost 与 Apifox深度对比

在当今数字化时代&#xff0c;API 开发是构建各类软件应用的关键环节。Apipost 和 Apifox 作为两款知名的 API 开发工具&#xff0c;它们在实际开发场景中表现究竟如何呢&#xff1f;接下来&#xff0c;让我们从多个功能点进行深入对比。 一、API 设计功能 接口定义与参数设置…

从零开始搭建Windows AI开发环境:QWQ-32B部署+Cursor插件优化实战

文章目录 前言1.安装Ollama2.QwQ-32B模型安装与运行3.Cursor安装与配置4. 简单使用测试5. 调用本地大模型6. 安装内网穿透7. 配置固定公网地址总结 前言 本方案提出了一种基于Windows系统的智能化开发平台搭建策略&#xff0c;通过融合Cursor智能编程平台、Ollama模型运行框架…

PostgreSQL 中,若需显示 不在 `IN` 子句列表中的数据

在 PostgreSQL 中&#xff0c;若需显示 不在 IN 子句列表中的数据&#xff0c;可以通过以下方法实现&#xff1a; 方法 1&#xff1a;使用 NOT IN&#xff08;注意 NULL 值&#xff09; 直接筛选不包含在 IN 列表中的记录&#xff1a; SELECT * FROM your_table WHERE your_c…

嘉讯科技:医疗信息化、数字化、智能化三者之间的关系和区别

随着技术的不断发展&#xff0c;医疗行业也在发生着巨大的变化。在这个过程中&#xff0c;医疗信息化、数字化、智能化成为三个重要方向。这些变化不仅带来了医疗技术的进步&#xff0c;而且大大提高了医疗服务的质量和效率。 一、医疗信息化 医疗信息化是指医疗行业应用信息技…