矩阵

1121:计算矩阵边缘元素之和

≯℡__Kan透↙ 提交于 2019-12-15 17:36:53
【题目描述】 输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。 【输入】 第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以一个空格分开。 接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。 【输出】 输出对应矩阵的边缘元素和。 【输入样例】 3 3 3 4 1 3 7 1 2 0 1 【输出样例】 15 #include<iostream> using namespace std; int i,j; #define A 100+5 int main() { int m,n; int sum=0; cin>>m>>n; int a[A][A]; for(i=0;i<m;i++) { for(j=0;j<n;j++) { cin>>a[i][j]; } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(j==0||i==0||j==n-1||i==m-1) { sum+=a[i][j]; } } } cout<<sum<<endl;//对于循环每个元素只会遍历一遍,所以不需要减去重复 return 0; } 来源: CSDN 作者: C_Dreamy 链接: https://blog.csdn.net/C_Dreamy/article

线代:1.5矩阵的秩(zhi)

折月煮酒 提交于 2019-12-15 17:19:19
文章目录 任务详解: 矩阵的秩Rank of matrix 定义3 定义4 定理2(判断两个矩阵的秩的关系) 秩的性质 线性方程组的解 定理3 本课程来自 深度之眼 ,部分截图来自课程视频。 【第一章 线性代数】1.5矩阵的秩 在线LaTeX公式编辑器 任务详解: 1、掌握矩阵的秩是如何计算的,以及秩和初等变换的关系,以及秩的性质 2、掌握线性方程组的情况 矩阵的秩Rank of matrix 定义3 在m×n矩阵A中,任取k行与k列(k≤m,k≤n),位于这些行列交叉处的 k 2 k^2 k 2 个元素,不改变它们在A中所处的位置次序而得的k阶行列式,称为矩阵A的 k阶子式. m×n矩阵A的k阶子式共有 C m k ⋅ C n k C_m^k\cdot C_n^k C m k ​ ⋅ C n k ​ 个. 定义4 设在矩阵A中有一个不等于0的r阶子式D,且所有r+1阶子式(如果存在的话)全等于0,那么D称为矩阵A的最高阶非零子式,数r称为矩阵A的秩,记作R(A).并规定零矩阵的秩等于0。 显然,若A为m×n矩阵,则0≤R(A).≤min{m,n}. 由于行列式与其转置行列式相等,因此 A T A^T A T 的子式与A的子式对应相等,从而 R ( A T ) = R ( A ) R(A^T)=R(A) R ( A T ) = R ( A ) 对于n阶矩阵A

如何通俗易懂地解释卷积

不打扰是莪最后的温柔 提交于 2019-12-15 16:09:57
从数学上讲,卷积就是一种运算。 某种运算,能被定义出来,至少有以下特征: 抽象的,符号化的 在生活中,科研中有着广泛的应用 比如加法: a + b a+b a + b ,是抽象的,本身只是一个数学符号 在现实中,有非常多的意义,比如增加、合成、旋转等等 卷积,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分、级数,所以看起来觉得很复杂。 1. 卷积的定义 我们称 ( f ∗ g ) ( n ) (f*g)(n) ( f ∗ g ) ( n ) 为f,g的卷积 其连续的定义为: ( f ∗ g ) ( n ) = ∫ − ∞ ∞ f ( τ ) g ( n − τ ) d τ (f*g)(n)=\int^{\infin}_{-\infin}f(\tau)g(n-\tau)d\tau ( f ∗ g ) ( n ) = ∫ − ∞ ∞ ​ f ( τ ) g ( n − τ ) d τ 其离散的定义为: ( f ∗ g ) ( n ) = ∑ τ = − ∞ ∞ f ( τ ) g ( n − τ ) (f*g)(n)=\sum^{\infin}_{\tau=-\infin}f(\tau)g(n-\tau) ( f ∗ g ) ( n ) = τ = − ∞ ∑ ∞ ​ f ( τ ) g ( n − τ ) 这两个式子有一个共同的特征: 这个特征有什么意义? 我们令 x =

定时器动态扫描数码管LED矩阵显示

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-15 14:45:50
/* LED分布 1 2 3 4 5 6 7 */ //阳极 码 阴极取反 // 0~f 数码管 ,不带点 const u8 table1 [ ] = { 0x77 , 0x24 , 0x5d , 0x6d , 0x2e , 0x6b , 0x7b , 0x25 , 0x7f , 0x2f , 0x3f , 0x7a , 0x53 , 0x7c , 0x5b , 0x1b } ; // 0~f 数码管 ,带点 const u8 table2 [ ] = { 0xf7 , 0xa4 , 0xdd , 0xed , 0xae , 0xeb , 0xfb , 0xa5 , 0xff , 0xaf , 0xbf , 0xfa , 0xd3 , 0xfc , 0xdb , 0x9b } ; DisplaydData [ 0 ] = ~ table [ NowTime . hour / 10 ] ; DisplaydData [ 1 ] = ~ table [ NowTime . hour % 10 ] ; DisplaydData [ 2 ] = ~ table [ NowTime . minute / 10 ] ; DisplaydData [ 3 ] = ~ table [ NowTime . minute % 10 ] ; DisplaydData [ 4 ] = ~ table [

python生成二维数组的坑

こ雲淡風輕ζ 提交于 2019-12-15 12:20:16
做leetcode时,想用python生成二维数组,使用了[[0]*n]*n 发现答案和想的不对,查找原因发现这么创建数组,更改一个数会将一列全部更改 >>> cd [[2, 1, 0], [2, 1, 0], [2, 1, 0]] >>> cd = [[0]*3]*3 >>> cd [[0, 0, 0], [0, 0, 0], [0, 0, 0]] >>> id(cd[0][0]) 140734705414960 >>> id(cd[1][0]) 140734705414960 >>> id(cd[2][0]) 140734705414960 原来这个操作是将地址复制到一个列表中,其实只有一行数 正确的做法是 [[0]*n for i in range(n)] 来源: CSDN 作者: 挖了蘑菇累死 链接: https://blog.csdn.net/qq_43168601/article/details/103546593

201503-1 图像旋转

老子叫甜甜 提交于 2019-12-15 09:53:19
试题编号: 201503-1 试题名称: 图像旋转 时间限制: 5.0s 内存限制: 256.0MB 问题描述: 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。   计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。   接下来n行每行包含m个整数,表示输入的图像。 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。 样例输入 2 3 1 5 3 3 2 4 样例输出 3 4 5 2 1 3 评测用例规模与约定 1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。 # include <iostream> using namespace std ; int a [ 1010 ] [ 1010 ] ; int main ( ) { int n , m ; scanf ( "%d %d" , & n , & m ) ; for ( int i = 0 ; i < n ; i ++ ) { for ( int j = 0 ; j < m ; j ++ ) scanf ( "%d" , & a [ i ] [ j ] ) ; } for ( int j = m - 1 ; j >= 0 ; j

XDOJ 0-1矩阵

爱⌒轻易说出口 提交于 2019-12-15 09:36:52
0-1矩阵 类别 数组 时间限制 2S 内存限制 1000Kb 问题描述 查找一个只包含0和1的矩阵中每行最长的连续1序列。 输入说明 输入第一行为两个整数m和n(0<=m,n<=100)表示二维数组行数和列数,其后为m行数据,每行n个整数(0或1),输入数据中不会出现同一行有两个最长1序列的情况。 输出说明 找出每一行最长的连续1序列,输出其起始位置(从0开始计算)和结束位置(从0开始计算),如果这一行没有1则输出两个-1,然后换行。 输入样例 5 6 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 输出样例 3 4 -1 -1 0 5 0 2 2 3 分析: 其实起始位置是不用记录的,只要记录终止位置和最长序列数就行了 起始位置=终止位置-最长序列数 # include <stdio.h> int main ( ) { int m , n , a [ 100 ] [ 100 ] ; int i , j , sum = 0 , max = 0 , maxi , maxj ; scanf ( "%d%d" , & m , & n ) ; for ( i = 0 ; i < m ; i ++ ) { for ( j = 0 ; j < n ; j ++ ) { scanf ( "%d" , & a [ i ] [

实验7-2-6 打印杨辉三角(20 分)

99封情书 提交于 2019-12-15 05:31:37
实验7-2-6 打印杨辉三角(20 分) 本题要求按照规定格式打印前N行杨辉三角。 输入格式: 输入在一行中给出N(1≤N≤10)。 输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 #include <stdio.h> #define N 11 //可以完成10行的要求,此出将二维数组按照下标为1进行存储的。 //时间:2018年4月23日18:42:03 //思路:首先定义一个二维数组a[][],然后对该数组进行初始化:先初始化边界的所有1 // 再初始化非边界元素。初始化完毕后,控制输出格式。 // 注意:最后一行的第一个1是直接%4d控制输出的,不需要额外打印空格。 int main() { int i, j, k, n, a[N][N]; //定义二维数组a[11[11] 共11行 11列 scanf("%d", &n); for (i = 1; i <= n; i++) //初始化二维数组元素边界元素 { a[i][1] = a[i][i] = 1; //两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数 } for (i = 3; i <= n; i++) //初始化二维数组元素非边界元素 { for (j = 2

求一个3*3矩阵对角线元素之和

我们两清 提交于 2019-12-15 04:48:22
求一个3*3矩阵对角线元素之和 Problem Description 给定一个3*3的矩阵,请你求出对角线元素之和。 Input 按照行优先顺序输入一个3*3矩阵,每个矩阵元素均为整数。 Output 从左下角到右上角这条对角线上的元素之和 Sample Input 1 2 3 3 4 5 6 0 1 Sample Output 13 # include <stdio.h> # include <stdlib.h> int main ( ) { int a [ 3 ] [ 3 ] , i , j , sum = 0 ; for ( i = 0 ; i < 3 ; i ++ ) { for ( j = 0 ; j < 3 ; j ++ ) { scanf ( "%d" , & a [ i ] [ j ] ) ; if ( i + j == 2 ) sum + = a [ i ] [ j ] ; } } printf ( "%d\n" , sum ) ; return 0 ; } 来源: CSDN 作者: 咕咕咕咕咕~ 链接: https://blog.csdn.net/qq_45666654/article/details/103533245

学习OpenGL ES for Android(四)

↘锁芯ラ 提交于 2019-12-15 04:37:23
在学习图形变换之前,可以先参考文档 https://learnopengl-cn.github.io/01%20Getting%20started/07%20Transformations/ 学习基本概念。我们之前的绘制的都是静态的图像,如果我们使用改变顶点坐标的方式来让图像变换起来是非常麻烦的,而且会消耗更多的处理时间和性能。我们可以使用一个或多个矩阵(Matrix)对象可以更好的变换(Transform)一个物体。这些变换包括:移动,缩放,旋转。和桌面版不同的是,在Android中可以使用Matrix类来实现各种变换矩阵(注意是android.opengl.Matrix,不要和android.graphics包下的混淆了)。 multiplyMM(float[] result, int resultOffset, float[] lhs, int lhsOffset, float[] rhs, int rhsOffset):将两个4x4矩阵相乘,并将结果存储在第三个4x4矩阵中。以矩阵表示法表示:结果=lhs x rhs。 参数 result:保存结果的浮点数组 resultOffset:保存结果的浮点数组的偏移量 lhs:包含左侧矩阵的浮点数组 lhsOffset:左侧矩阵的浮点数组的偏移量 rhs:包含右侧矩阵的浮点数组 rhsOffset:右侧矩阵的浮点数组的偏移量