当前位置: 首页 > news >正文

青岛建手机网站公司整合营销策划方案

青岛建手机网站公司,整合营销策划方案,muse cc 做网站,网站建设和信息更新的通知题目: 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 1)子矩阵。 比如,如下4 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 9 2 -4 1 -1 8 这个子矩阵的大小是15。 …

题目:

已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。

比如,如下4 × 4的矩阵

0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
的最大子矩阵是

9 2
-4 1
-1 8
这个子矩阵的大小是15。

【输入】
输入是一个N×N的矩阵。输入的第一行给出N(0<N≤100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[−127,127]。

【输出】
输出最大子矩阵的大小。

【输入样例】
4
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
【输出样例】
15

题意:

找出梓矩阵最大和

思路:

  • 暴力模拟就是就是遍历求x1-x2行最值,再遍历y1-y2列的最值, 四层循环容易超时

  • -只看一行求最值就是最大连续子序列,但是有很多行,现在求未知连续的k行的矩阵,所以就需要遍历1-2,1-3,1-4,2-3,2-4行,,,,

  • 求矩阵和,所以利用前缀和的知识,可以累加前一行的数据直到最后一行,要求区间K行的子矩阵遍历即可-即要求k行直接压缩成一维数组,变成了一个一维数组的最长子序列问题

  • 确定状态/选择:累加行/列以后直接利用最大字段和的做法 dp[i] = max(dp[i-1]+k,dp[i])

  • 确定状态转移方程

  • 边界条件:
    -①dp都初始化为0,每次遍历完两行,求出矩阵和,计算了dp数组后求出当前的最值,dp初始化一下。
    存储最值的变量应该初始化:<-128 因为数据范围在【-127,127】。
    ③遍历时,后一行减去前一行,所以i 为【1,n】,j为【1,n】,j不能是【i+1,n】,因为有可能矩阵第一行就是有最值!
    在这里插入图片描述

数据约束:

注意:

①:数组边界/遍历范围要注意!!
②:数据初始化要注意数据边界

参考代码一

#include<bits/stdc++.h>
#define N 105
using namespace std;
int a[N][N],dp[N],ans=-128;    //初始化#。。。。。。。。。。!    int main(){int n;cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];a[i][j] += a[i-1][j];//各行的值累加 }} for(int i=1;i<=n;i++){ //开始行 for(int j=i;j<=n;j++){ //结束行 for(int k=1;k<=n;k++){ //处理两行之前列的数据-做最大连续子序列 dp[k] = a[j][k]-a[i-1][k];dp[k] = max(dp[k],dp[k-1]+a[j][k]-a[i-1][k]);  //选择两行 并处理dp数组ans = max(ans,dp[k]); }memset(dp,0,sizeof(dp));}} cout<<ans;return 0;}

参考代码二

#include<bits/stdc++.h>
#define N 105
using namespace std;
N],dp[N],ans=-128;    //初始化#。。。。。。。。。。! int main(){int n;cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];a[i][j] += a[i][j-1];//各列的值累加}} for(int i=1;i<=n;i++){ //开始列 for(int j=i;j<=n;j++){ //结束列  不能从第二行开始,不然第一行怎么办!! memset(dp,0,sizeof(dp));for(int k=1;k<=n;k++){ //处理两列之前列的数据-做最大连续子序列 dp[k] = a[k][j]-a[k][i-1];dp[k] = max(dp[k],dp[k-1]+a[k][j]-a[k][i-1]);  //选择两行 并处理dp数组ans = max(ans,dp[k]); }}} cout<<ans;return 0;}
http://www.hkea.cn/news/13379/

相关文章:

  • 网站服务器和空间的区别做seo有什么好处
  • 丽江建设工程信息网站媒体广告投放平台
  • 栖霞网站定制十大免费最亏的免费app
  • 无锡高端网站设计制作裂变营销五种模式十六种方法
  • 互联网公司网站建设ppt模板下载手机百度2022年新版本下载
  • 外国网站上做雅思考试南宁seo怎么做优化团队
  • 眉山网站制作网站推广优化方法
  • 自己做的网站打不开是什么原因软文广告文案案例
  • 南昌 定制网站seo关键字排名
  • 公司网站建设素材西安优化外
  • 企业网站建设兴田德润怎么联系网图识别在线百度
  • 仿站仿淘宝客网站视频教程哈尔滨最新疫情
  • ppt做书模板下载网站有哪些内容东莞网站推广运营公司
  • 网站建设网站多少钱微信营销案例
  • 网站建设信息在哪儿发布seo搜索优化招聘
  • 中国商标买卖网站空间刷赞网站推广
  • 药品营销策划方案seo入门免费教程
  • 做目录网站注意事项免费个人网站建站
  • 北京做网站的外包公司免费发布产品的平台
  • 免费做苗木的网站seo项目优化案例分析文档
  • 网易企业邮箱怎么绑定江门搜狗网站推广优化
  • 网站还没有做解析是什么意思模板建站代理
  • 网站建设对接视频全国疫情最新报告
  • 网页设计毕业论文总结谷歌优化怎么做
  • 那家做网站最靠扑关键词林俊杰mp3下载
  • 新沂做网站网页设计需要学什么软件
  • 北京制作网站的公司简介google 网站推广
  • 网站删除关键词为企业推广
  • 网站cms系统 开源框架最新足球赛事
  • 哈尔滨快速建站点击查看百度一下你就知道