P3390 【模板】矩阵快速幂

把 f(ll k) 写成 f(int k)

结果又是tle又是wa的。找了半天错误。

(为了节省一点时间,因为函数不能return数组,还把数组改写到结构体里)

我在想考试怎么办,考试不能看过没过,

过了样例,实则零蛋,

粗心那么一点点,就可能完全没分,实在可惜。

ac代码1:

#include<iostream>
#define ll long long
using namespace std;
const ll M=1e9+7;
const int N=110;
ll n,k;
ll a[N][N],ans[N][N];
void mul(ll x[N][N],ll y[N][N],int flag){ll tmp[N][N];for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){tmp[i][j]=0;for(int k=1;k<=n;k++)tmp[i][j]=(tmp[i][j]+(x[i][k]*y[k][j])%M)%M;}if(flag){for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)ans[i][j]=tmp[i][j];}else{for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)a[i][j]=tmp[i][j];       }
}
void f(ll k){while(k){if(k&1) mul(ans,a,1);mul(a,a,0);k>>=1;}
}
int main(){scanf("%lld%lld",&n,&k);for(int i=1;i<=n;i++){ans[i][i]=1;for(int j=1;j<=n;j++)scanf("%d",&a[i][j]);}f(k);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)printf("%d ",ans[i][j]);printf("\n");}return 0;
}

ac代码2(写在结构体里)

#include<iostream>
#define ll long long
using namespace std;
const ll M=1e9+7;
const int N=110;
ll n,k;
struct matrix{ll a[N][N];
}s,ans;
matrix mul(matrix x,matrix y){matrix tmp;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){tmp.a[i][j]=0;for(int k=1;k<=n;k++)tmp.a[i][j]=(tmp.a[i][j]+(x.a[i][k]*y.a[k][j])%M)%M;}return tmp;
}
void f(ll k){while(k){if(k&1) ans=mul(ans,s);s=mul(s,s);k>>=1;}
}
int main(){scanf("%lld%lld",&n,&k);for(int i=1;i<=n;i++){ans.a[i][i]=1;for(int j=1;j<=n;j++)scanf("%d",&s.a[i][j]);}f(k);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)printf("%d ",ans.a[i][j]);printf("\n");}return 0;
}

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

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

相关文章

STM32F407 cubeIDE Bootloader APP 如何写

一、bootloader 代码如下&#xff1a; #define FLASH_JUMP_ADDR (0x0800c000) /* USER CODE END PD *//* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM *//* USER CODE END PM *//* Private variables ----------…

[Space Shooter_1] Environment | CMake | SDL

环境&#xff1a; CCMakeSDLVS code图形化界面参考&#xff1a;itch.io csp vscode 控制面板 C代码生成流程 查找路径&#xff0c;来进行 cmake 链接 跨平台 cmake 一个库 如果已经有 cmake 来实现跨平台&#xff0c;链接 也可以不用这么麻烦了 set(CMAKE_RUNTIME_OUTPUT_DI…

PyTorch 入门学习

目录 PyTorch 定义 核心作用 应用场景 Pytorch 基本语法 1. 张量的创建 2. 张量的类型转换 3. 张量数值计算 4. 张量运算函数 5. 张量索引操作 6. 张量形状操作 7. 张量拼接操作 8. 自动微分模块 9. 案例-线性回归案例 PyTorch 定义 PyTorch 是一个基于 Python 深…

Shader中着色器的编译目标级别

1. # pragma target x.0 2. # pragma require xxx 支持的“#pragma target”名称 以下是支持的着色器模型列表&#xff0c;其中包含大致增加的功能集&#xff08;在某些情况下对于平台/GPU 的要求更高&#xff09;&#xff1a; #pragma target 2.0 适用于 Unity 支持的所有平…

【SpringBoot】实现登录功能

在上一篇博客中&#xff0c;我们讲解了注册页面的实现。在此基础上会跳转到登录页面&#xff0c;今天给大家带来的是使用 SpringBoot&#xff0c;MyBatis&#xff0c;Html&#xff0c;CSS&#xff0c;JavaScript&#xff0c;前后端交互实现一个登录功能。 目录 一、效果 二、…

【QT】事件系统入门——QEvent 基础与示例

一、事件介绍 事件是 应用程序内部或者外部产生的事情或者动作的统称 在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本身在不同的时刻发出的。当用户按下鼠标、敲下键盘&#xff0c;或者是窗口需要重新绘制的时候&…

蓝桥杯备赛-基础练习 day1

1、闰年判断 问题描述 给定一个年份&#xff0c;判断这一年是不是闰年。 当以下情况之一满足时&#xff0c;这一年是闰年:1.年份是4的倍数而不是100的倍数 2&#xff0e;年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个…

【数据挖掘】知识蒸馏(Knowledge Distillation, KD)

1. 概念 知识蒸馏&#xff08;Knowledge Distillation, KD&#xff09;是一种模型压缩和知识迁移技术&#xff0c;旨在将大型复杂模型&#xff08;称为教师模型&#xff09;中的知识传递给一个较小的模型&#xff08;称为学生模型&#xff09;&#xff0c;以减少计算成本&…

HTMLCSS绘制三角形

1.代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>01triangle</title><s…

【数据结构】ArrayList顺序表

面向对象前置知识 ​ class(类)是一种类型&#xff0c;用class(类)可以创建类变量&#xff0c;类变量里存储变量与方法&#xff0c;创建类变量时都有开辟空间&#xff0c;类变量里的存储的成员变量都存储在堆区&#xff0c;类变量里存储的成员方法都存储在方法区&#xff0c;类…

Postman下载安装及简单入门

一&#xff0e;Postman简介 Postman是一款API测试工具&#xff0c;可以帮助开发、测试人员发送HTTP请求&#xff0c;与各种API进行交互&#xff0c;并分析响应 二&#xff0e;下载与安装 访问Postman官网&#xff08;https://www.postman.com/&#xff09;&#xff0c;下载适…

数据类设计_图片类设计之5_不规则类图形混合算法(前端架构)

前言 学的东西多了,要想办法用出来.C和C是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容 引入 接续上一篇,讨论图片类型设计出来后在场景中如何表达,以及不规则图片的混合算法. 图片示意图 图片是怎样表示的,这里把前面的补上 这里的数字1是不规则数据类对…

【C++】 —— 笔试刷题day_4

刷题day_4 继续加油&#xff01;&#xff01;&#xff01; 一、Fibonacci数列 题目链接&#xff1a;Fibonacci数列 题目解析 题目要求&#xff0c;输入一个数N&#xff0c;我们可以对N进行1/-1操作&#xff1b;题目让我们输出对N进行至少多少步可以变成Fibonacci数。 这里题目…

“Ubuntu禁止root用户通过SSH直接登录”问题的解决

目录 1 前言 2 问题的解决 2.1 修改sshd_config文件 2.2 重启 SSH 服务 1 前言 最近在做毕设的时候&#xff0c;由于使用普通用户&#xff0c;在MobaXterm的图形界面上&#xff0c;无法正常查看/root文件夹内容&#xff0c;如下图所示&#xff1a; 于是我就想直接想用oot…

MySql数据库等级考试学习分享3(Day5)

题目:机器周期的同步标准是( )。 选项: A. CPU执行指令所占用的时间 B. CPU访问存储器一次所需要的时间 C. CPU分析指令所需要的时间 D. CPU访问寄存器一次所需要的时间 知识点总结(0基础必看) 1. 计算机时序的基本单位 单位定义关系时钟周期(Clock Cycle)CPU主频的倒…

Unity 封装一个依赖于MonoBehaviour的计时器(下) 链式调用

[Unity] 封装一个依赖于MonoBehaviour的计时器(上)-CSDN博客 目录 1.加入等待间隔时间"永远执行方法 2.修改为支持链式调用 实现链式调用 管理"链式"调度顺序 3.测试 即时方法​编辑 "永久"方法 链式调用 ​4.总结 1.加入等待间隔时间&qu…

文件解析漏洞靶场集锦详解

一、IIS解析漏洞 环境安装&#xff1a;windows2003iis6 1.目录解析 .asp文件夹中的任意文件都会被当做asp文件去执行 1.在iis6的网站根目录新建⼀个名为1.asp的文件 2. 在1.asp中新建⼀个jpg文件。内容为 <%now()%>asp代码 3.在外部浏览器中访问iis⽹站中的1.jpg 发现…

零售业务订单处理自动化:吉客云对接金蝶云星空

销售单对接销售出库_类型1零售业务_合并&#xff1a;吉客云奇门数据集成到金蝶云星空 在现代零售业务中&#xff0c;数据的高效流转和准确处理是企业运营的关键。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台&#xff0c;将吉客云奇门的数据无缝对接到金…

python-leetcode-子数组最大平均数 I

643. 子数组最大平均数 I - 力扣&#xff08;LeetCode&#xff09; 可以使用滑动窗口&#xff08;Sliding Window&#xff09;的方法来解决这个问题。具体步骤如下&#xff1a; 先计算数组 nums 中前 k 个元素的和 sum_k&#xff0c;作为初始窗口的和。然后滑动窗口&#xff0…

「 机器人 」扑翼飞行器通过总气动力控制四自由度运动方法

一、前言 在扑翼飞行中,总气动力(Total Aerodynamic Force)是指扑翼在运动过程中受到的所有空气动力作用的合力。它是由以下两种主要力的合成结果: 1. 升力(Lift, ):垂直于空气流方向的力,用于支持飞行器(或生物)的重量。 2. 阻力(Drag, ):平行于空气流方向的力,…