HDOJ 1575 - Tr A

hdoj 1575 Tr A (矩阵快速幂) Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4549    Accepted Submission(s): 3428 Problem Description A为一个方阵,则Tr A表示A的迹(就是主 阅读详情

Matrix Multiplication (& Quick Power) 


Description

给出方阵 A 和整数 k ,求 (A^k)%9973 的迹(即主对角线上各项的和)。


Type

Matrix Multiplication

Quick Power


Analysis

矩阵乘法和快速幂,其实快速幂是废话,矩阵乘法一般都需要结合快速幂。

原来矩阵乘法有蛮多要注意的,例如一些初始化和单位矩阵的问题。

但是套了模板一切都搞定了……

所以这里也不再赘述了……


Solution

// HDOJ 1575
// Tr A
// by A Code Rabbit

#include <cstdio>
#include <cstring>

const int MAXO = 12;
const int MOD = 9973;

template <typename T>
struct Matrix {
    T e[MAXO][MAXO];
    int o;
    Matrix(int x) { memset(e, 0, sizeof(e)); o = x; }
    Matrix operator*(const Matrix& one) {
        Matrix res(o);
        for (int i = 0; i < o; i++) {
            for (int j = 0; j < o; j++) {
                for (int k = 0; k < o; k++)
                    res.e[i][j] += e[i][k] * one.e[k][j];
                res.e[i][j] %= MOD;
            }
        }
        return res;
    }
    Matrix operator*=(const Matrix& one) { return *this = *this * one; }
};

template <typename T>
T QuickPower(T radix, int exp) {
    T res = radix;
    exp--;
    while (exp) {
        if (exp & 1) res *= radix;
        exp >>= 1;
        radix *= radix;
    }
    return res;
}

int n, k;

int GetTrace(Matrix<int> a);

int main() {
    int tot_case;
    scanf("%d", &tot_case);
    while (tot_case--) {
        // Input.
        scanf("%d%d", &n, &k);
        Matrix<int> one(n);
        for (int i = 0; i < n; ++i)
            for (int j = 0; j < n; ++j)
                scanf("%d", &one.e[i][j]);
        // Solve.
        Matrix<int> ans = QuickPower(one, k);
        // Output.
        printf("%d\n", GetTrace(ans));
    }

    return 0;
}

int GetTrace(Matrix<int> a) {
    int sum = 0;
    for (int i = 0; i < n; ++i)
        sum += a.e[i][i];
    return sum % MOD;
}

2022年TI杯模拟电⼦系统设计专题邀请赛——李萨如图形演示装置 本次装置主要是对输入的正弦信号进行频率变换,并将原输入正弦信号作为 X 轴信号、变换后的正弦信号作为 Y 轴信号,绘制李萨如图形。采用 EK-TM4C123GXL 板卡作为主控;频率变换采用“锁向环+计数器”实现 1-5 倍频的频率变换控制;李萨如图形采用两个 AD通道采集原输入的正弦信号作为 X 轴信号和频率变换后的正弦信号作为 Y 轴信号,绘制李萨如图形。 阅读详情

相关推荐

LTspice元器件库导入与路径管理:符号、模型、子电路全解析

在电子电路仿真中,元器件库通常由符号、模型和子电路三层构成:符号定义引脚外观,模型描述电气行为,子电路封装多端子网络。理解三者职责边界,是解决 LTspice 元器件库导入报错的关键。许多导入失败并非软件问题,而是文件类型错配、路径引用不清或引脚顺序不一致。掌握 `.include` 指令、用户库搜索路径和自制符号绑定模型,可以提升第三方模型复用效率,降低跨项目迁移成本。该思路适用于运放、MOS 管、二极管等器件建模,尤其在 UA741 等经典运放导入场景中,需要先核对 `.subckt` 引脚顺序,再选择

weixin_29182481的博客 179

HDOJ1575 Tr A ----- 矩阵快速幂模板题

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1575 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。     Input 数据的第一行是一个T,表示有T组数据。 每组数据的第一行有n(2 &lt;= n &lt;= 10)和k(2 &lt;= k &...

。 274

LTspice第三方SPICE模型集成全流程指南

SPICE模型是电子电路仿真的核心基础,它通过数学方程描述半导体器件的非线性、温度依赖与寄生特性,决定仿真结果是否具备工程可信度。其技术价值在于 bridging 理论参数与实测行为,显著提升电源、电机驱动及逻辑电路设计的一次成功率。典型应用场景包括IGBT开关损耗分析、LDO瞬态响应验证、CMOS逻辑门传播延迟评估等。而LTspice作为轻量级工业级工具,依赖用户主动集成原厂提供的.subckt或.model文本模型——这正是‘LTspice导入SPICE模型’和‘74HC14 SPICE模型’等高频搜索

weixin_33868027的博客 298

hdoj 1575 Tr A 【矩阵快速幂】

Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3020    Accepted Submission(s): 2251 Problem Description A为一个方阵,则Tr A表示A的迹(就是主

shengweisong 1012

three.js中如何高效加载并播放GLB格式的3D动画

本文详细介绍了在three.js中高效加载并播放GLB格式3D动画的最佳实践。通过对比GLB与GLTF格式的优势,提供从环境搭建、模型加载到动画控制的完整解决方案,并分享性能优化技巧和常见问题排查方法,帮助开发者提升3D动画项目的开发效率和用户体验。

weixin_27890975的博客 362

使用网分对晶体ESR/L1/C1/C0进行测量计算

Use R&amp;S Vector Network Analyzer test XTAL ESR/L1/C1/C0 測量方法:使用儀器的Port1端口,測量XTAL的S11,通過諧振的參數計算出ESR/L1/C1/C0的值。 實際晶體的等效模型:通常方便晶體分析,使用下圖(b)的等效模型,但實際測量發現晶體存在多個串聯諧振點,實際等效模型更接近(c)。 儀器測量到的S11,其中M...

qq_39138630的博客 2082

hdoj1575【矩阵快速幂】

题意:非常清晰!直接搞吧。#include <iostream> #include <stdio.h> #include <string.h> #include <stack> #include <queue> #include <map> #include <set> #include <vector> #include <math.h> #include <algorithm> using na

ONE MORE TRY 643

Unity 常见问题 之 打包编译的报错 Unable to sign the application; please provide passwords!

Unity 常见问题 之 打包编译的报错 Unable to sign the application; please provide passwords! 目录 Unity 常见问题 之 打包编译的报错 Unable to sign the application; please provide passwords! 一、简单介绍 二、问题描述 三、原因分析 四、可能的解决方法 方法一:取消 Keystore 设置即可 方法二:重新添加 Keystore 相关设置 一...

仙魁XAN 1万+

HDOJ 1575 Tr A 矩阵快速幂

Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5749    Accepted Submission(s): 4324 Problem Description A为一个方阵,则Tr A表示A的迹(就是主

qq_37804582的博客 418

【数字图像相关-OpenCorr学习笔记】Epipolar search原理+代码解析

OpenCorr是一个开源C++库,用于研究和开发数字图像相关(DIC)技术它提供了2D和立体声DIC的全功能模块,以及数字体积相关(DVC)。最近正在学习OpenCorr,为了更深层次地理解ICGN,我打算浅浅剖析Opencorr的代码,学习的过程中写下这篇学习笔记,以后忘记了还能回来看看。同时,作为一名在读研究生,希望能得到社区大佬的指点,以及跟同学们一起学习进步。这一期主要讲解Eipipolar search的原理,并且附上部分代码解析。

ywyywyy的博客 1356

18、未来医疗信息学中的太赫兹天线技术

本文探讨了太赫兹天线技术在医疗信息学中的关键作用,重点分析了分裂环谐振器和纳米结构光导天线(PCA)的设计与性能提升方法,介绍了相干与非相干太赫兹检测技术,并通过等效电路模型和数值模拟深入解析PCA工作机理。文章还展示了太赫兹技术在无创血糖监测、肿瘤检测等医疗诊断中的实验应用,总结了其非侵入性、高分辨率成像和多参数分析等优势,同时指出信号检测难、成本高和技术复杂等挑战。未来趋势包括设备小型化、效率提升及与人工智能融合,拓展至药物研发、皮肤与神经疾病诊断等领域,展现出变革医疗健康的巨大潜力。

milk8的博客 146

hdoj-1575-Tr A【矩阵快速幂】

Tr A Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3615 Accepted Submission(s): 2695 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),

qq_18062811的专栏 593

PX4从放弃到精通(十九):串口驱动

文章目录前言一、创建进程二、编写驱动 前言 硬件: PIXHAWK4 USB转串口模块 软件: Ubuntu18.04 PX4 1.11.3固件 QGC地面站 串口助手 一、创建进程 参考:https://mbot1.blog.youkuaiyun.com/article/details/122587617 二、编写驱动 .........

超维空间科技的博客 4597

HDOJ 1575 Tr A 超详细

HDOJ 1575 Tr A Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。 Input 数据的第一行是一个T,表示有T组数据。 每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据。接下来有n行,每行有n个数据,每个数据的范围是[0,9],表示方阵A的内容。 Output 对应每组数据,输出Tr(A^k)%9973。 Sample Input 2 2

qascetic的博客 264

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

hdoj 1575 Tr A(矩阵快速幂,模板题)

矩阵也直接给了不用推了。。 代码: #include using namespace std; const int mod = 9973; int n; struct node { int s[15][15]; }; node mul(node a, node b) { node t; memset(t.s, 0, sizeof(t.s)); for(

CillyB的博客 595

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

[HDOJ1575]Tr A

Tr A Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3409Accepted Submission(s): 2542 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),...

weixin_30340353的博客 136

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

hdoj 1575 Tr A

点击打开链接 题目意思:给定一个n阶的方阵A,求A的K次方矩阵主对角线的和模9973的值。 解题思路:矩阵的快速幂,我么可以写一个矩阵类,然后写几个相应的函数,比如重载* 等,就可以像整数一样直接计算非常方便。 代码: //定义一个矩阵类,然后重载*,计算矩阵的快速幂(对于乘法和加法计算过程取模不影响结果) #include &lt;iostream&gt; #includ...

编程资料大全 140

HDOJ 1575 Tr A

矩阵快速幂Tr ATime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1789Accepted Submission(s): 1318Problem DescriptionA为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现...

weixin_30314793的博客 101

HDOJ 1575 Tr A (矩阵快速幂)

Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3837    Accepted Submission(s): 2868 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上

滴水穿石,慢慢积累,总会有成果 455

HDOJ 题目1575 Tr A(矩阵相乘,二分)

Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2789    Accepted Submission(s): 2075 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上

Jogging_Clown 673

hdoj1575 Tr A(矩阵快速幂)

简单的矩阵快速幂。最后求矩阵的秩。 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 const int Mod=9973; 5 int n,k; 6 struct mat{ 7 int a[15][15]; 8 }; 9 mat res,c; ...

weixin_34357887的博客 133

hdoj 1575 Tr A 51nod oj 1113 矩阵快速幂【矩阵快速幂】

传送门:1575 矩阵快速幂--与一般快速幂一样-- 代码: #include #include #include using namespace std; struct node{ int n; long long shu[12][12]; node operator * (node &b){ node c; c.n=n; for (int i=1;i<=

leibniz_zhang的博客 507

HDOJ-----1575---Tr A矩阵快速幂

A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。   Input 数据的第一行是一个T,表示有T组数据。 每组数据的第一行有n(2   Output 对应每组数据,输出Tr(A^k)%9973。   Sample Input 2 2 2 1 0 0 1 3 99999999 1 2 3 4 5 6 7 8

blue_hpu的博客 396

Tr A HDU - 1575(矩阵快速幂)

题目描述A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。 输入数据的第一行是一个T,表示有T组数据。 每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据。接下来有n行,每行有n个数据,每个数据的范围是[0,9],表示方阵A的内容。 输出对应每组数据,输出Tr(A^k)%9973。样例输入2 2 2 1 0

菜鸡互啄 444
上一篇: UVaOJ 196 - Spreadsheet
下一篇: HDOJ 2256 - Problem of Precision
Ra_WinDing
博客等级 码龄15年 50粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值