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

平台网站建设教程cpa没有网站怎么做

平台网站建设教程,cpa没有网站怎么做,网站建设公司新员工培训ppt,开网站流程统计子矩阵 题目链接 思路: 使用前缀和滑动窗口 ,可以先计算出纵向或横向的前缀和,matrix[i][j]表示前i行第j列之和 然后遍历上边界top和下边界buttom,再这个上下边界内使用滑动窗口,由于前面维护了纵向前缀和&…

统计子矩阵

题目链接
在这里插入图片描述
思路:

  1. 使用前缀和+滑动窗口 ,可以先计算出纵向或横向的前缀和,matrix[i][j]表示前i行第j列之和

  2. 然后遍历上边界top和下边界buttom,再这个上下边界内使用滑动窗口,由于前面维护了纵向前缀和,所以转化成类似一维的滑动窗口。

  3. 滑动窗口[l,r]:遍历右端点,根据区间和调整左端点,如果区间和大了,左端点右移。注意区间和也要移除左端点,直到找到满足的区间,区间大小r-l+1就是以r为右端点的满足条件子矩阵个数,累加即可

#include <iostream>
using namespace std;
const int MAXN=502;
int matrix[MAXN][MAXN];
int n,m,k,ans=0;int main()
{scanf("%d%d%d",&n,&m,&k);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){scanf("%d",&matrix[i][j]);matrix[i][j]+=matrix[i-1][j]; //前缀和:第i行j列为第1行到第i行j列的和}}//枚举上下边界for(int top=1;top<=n;top++){for(int buttom=top;buttom<=n;buttom++){int l=1,r=1; //滑动窗口的左右端点int sum=0; //滑动窗口的和for(r=1;r<=m;r++){ //枚举右端点sum+=matrix[buttom][r]-matrix[top-1][r]; //更新区间和:加上右端那一列的值while(sum>k){sum-=matrix[buttom][l]-matrix[top-1][l]; //当前矩阵的sum大于k,缩减左端l++;}ans+=r-l+1; //方法数就是区间大小}}}cout<<ans<<endl;return 0;
}
http://www.yayakq.cn/news/11064/

相关文章:

  • 海口网站开发师招聘html点餐网页简单代码
  • 广州定制网站设计一个品牌的策划方案
  • 网站建设使用工具58同城推广技巧
  • 网站建设 团队介绍文登区城乡建设局网站
  • 上海公司网站建设以子怎么做网站的思维导图
  • 学工网站建设上海手机网站建设多少钱
  • 常用网站开发工具有哪些网站开发工程师年度总结
  • 部门门户网站建设请示做网站那几步
  • 当今做哪个网站致富wordpress设置横向菜单
  • 成为软件工程师的条件衡阳seo优化服务
  • 石狮制作网站网站建设的项目体会
  • 天津网站建设制作系统深圳网站开发是什么
  • 网页建站平台建设服务好的建筑企业查询
  • 做企业网站域名需要解析吗如何在网站中加入百度地图
  • 济南旅游网站建设现状北京托管网站
  • 做家装的网站有哪些织梦系统seo网站模板
  • 在线设计响应式网站域名注册腾讯云
  • 灵犀科技网站开发佼佼者nginx进wordpress不能进目录
  • 安全的网站建设公司长春快速建站公司
  • 网站开发 技术投标哈密建设集团有限责任公司网站
  • 包装东莞网站建设0769展馆展示设计公司一般做什么设计
  • 网站建设知识库三亚房产做公示是什么网站
  • 太原网站建设联系方式自动推送代码wordpress教程
  • 福州定制网站建设长沙网站托管
  • 萝岗营销型网站建设昌吉做网站
  • 美容院网站源码wordpress移动端标签
  • 网站类型分类有哪些西安高风险地区
  • 信息技术的网站建设是什么如何外贸推广
  • 国外科技网站欣赏怎么把源码做网站
  • 捕鱼网站怎么做厦门市网站建设局