【HDU 6507】 Store The Matrix

1.题目链接。题目大意:把一个矩阵分解成若干个矩阵的乘积。一个m*n的矩阵需要m*n个元素,但是分解之后,是所有小矩阵元素个数之和。问最少需要多少个元素才能把这个矩阵表示出来。

2.看到这个题有点懵逼,难道不是固定的mn个???,然后看了一眼样例,其实还是比较良心的,看到了样例种矩阵的秩为1,突然发现(猜想)如果一个矩阵式满秩的,是没办法减少元素数量的。但是如果不是满秩的,那些零行似乎就可以在其他小的矩阵里用一个元素(或者一行)存起来。虽然没有证明。。。。然后有一个矩阵的满秩分解定理:

                     A(m*n,r)=B(m*r,r)*C(r*n,r)

就是说一个大小为m*n,秩为r的矩阵,一定可以分解成两个矩阵乘积,并且一个是行满秩,一个是列满秩的。大小分别是m*r,和r*n.

由于满秩矩阵,不能再减少元素数量,所以我们只需要做一个分解即可,比较一下m*n,与(m+n)*r的大小。然后求矩阵的秩,可以高斯消元,当时随便在扣了一个模板就AC了。猝不及防。。。。‘由于代码比较丑,就不贴了,思路给了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值