12月要参加全国计算机能力挑战赛,所以去网上搜了题目做了一下,大致都是一些常规思路,有大佬有更好的方法还望指点一番。

题目
智能除草
农业植保无人机作为最新的设备,可以加注除草剂进行除草。每次工作可以喷洒边长为K的正方形区域。现有一块边长为N的正方形农田,将其分成N*N个方格单元,已知每个单元里的杂草数量。求该植保无人机一次工作最多可以除草的数量。

输入说明:
第一行是2个正整数,分别为N和K(1≤K≤N≤1000)。
之后N行N列正整数,表示每个单元中的杂草数量(不超过50)。
输出说明:
该植保无人机一次工作最多可以除草的数量。

输入样例:
5 2
2 2 1 1 1
1 2 1 5 6
6 1 1 4 5
2 6 1 1 1
1 1 1 1 1
输出样例:
20

按照最后一次提交的代码为评分标准。
思路:

这题是要求最大子矩阵的和,首先求各个点到(0,0)的矩阵面积,即为是s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i,j],再求k*k内的杂草数量,即为w[i][j]=s[i][j]-s[i-k][j]-s[i][j-k]+s[i-k][j-k],w[i][j]的最大值就是答案。

#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;
const int N=1010;
int k;
int a[N][N],s[N][N],w[N][N];
int n;int main()
{cin>>n>>k;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];} }for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];}}int res=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){w[i][j]=s[i][j]-s[i-k][j]-s[i][j-k]+s[i-k][j-k];res=max(w[i][j],res);}}cout<<res;return 0;
}

全国高校计算机能力挑战赛c++初赛相关推荐

  1. 2020年全国高校计算机能力挑战赛C++初赛程序设计题2:九键拼音中数字与英文字母成对应关系:2--abc, 3-def, 4-ghi, 5--jkl, 6--mno, 7--pqrs, 8--tuv

    2020年全国高校计算机能力挑战赛C++初赛程序设计题2:九键拼音中数字与英文字母成对应关系:2–abc, 3-def, 4-ghi, 5–jkl, 6–mno, 7–pqrs, 8–tuv, 9–w ...

  2. 2021年全国高校计算机能力挑战赛C++初赛程序设计题1:表达式求值 老式的计算机只能按照固定次序进行运算,华安大学就有这样一台老式计算机,计算模式为A @ B #C,@和#为输入的运算符(可能是+、

    表达式求值老式的计算机只能按照固定次序进行运算,华安大学就有这样一台老式计算机,计算模式为A @ B #C,@和#为输入的运算符(可能是+.*.%,须考虑计算优先级),现给出A,B,C的数值以及@和# ...

  3. 2021全国高校计算机能力挑战赛(初赛)C语言

    3-2空间中有N个顶点(顶点坐标用x,y,z表示),从中找出能构成三角形图形的最大面积,输出该面积. #include<stdio.h> #include<math.h> in ...

  4. 2021全国高校计算机能力挑战赛(初赛)C语言试题四

    肯德基有一种奇怪的优惠券,卷上的金额都是整数.活动要求找到3张优惠券总额恰好是商品本身. #include<stdio.h> int main() {int p,n,f=0,temp=0; ...

  5. 2021全国高校计算机能力挑战赛(初赛)C语言试题二

    写一个程序统计从1到N这N个数中,以下三个条件至少满足之一的数字x个数. #include <stdio.h>int isprime(int m) {int f = 1;for (int ...

  6. 2021全国高校计算机能力挑战赛(初赛)C语言试题一

    输入两个整数x,y,输出x,y中各位数重新组合的可能形成最小的数. #include <stdio.h>int main() {int n1, n2, tmp;int s[10000];i ...

  7. 2021全国高校计算机能力挑战赛(初赛)Java试题四

    某游戏公司设计了一个奖励活动,给N个用户(1<=N<=10^7)连续编号为1到N,依据用户的编号S发放奖励. import java.util.ArrayList; import java ...

  8. 2021全国高校计算机能力挑战赛(初赛)Java试题三

    二维空间中给定的一组点的坐标,以任意两个点为直径绘制一个圆.求可以绘制的最大圆,满足该圆不包含其他点,输出直径 import java.util.*;import java.util.Scanner; ...

  9. 2021全国高校计算机能力挑战赛(初赛)Java试题二

    某地大数据防疫平台记录了往来的所有防疫相关信息,包括本地或外地人员.健康码颜色.接种疫苗情况.最近一次核酸结果等 import java.util.ArrayList; import java.uti ...

最新文章

  1. showModalDialog 页面上GridView的分页问题
  2. Redis整合Spring结合使用缓存实例(转)
  3. rust废铁最快_Rust初体验,它确实有点快
  4. python itertools.product_在python中,如何拆分itertools.product分组并在p中迭代
  5. MySQL 数据库救火:磁盘爆满了,怎么办?
  6. 麦块服务器显示连接已丢失,麦块服务器密码怎么设置
  7. oracle 序列_Oracle好记性不如烂笔头序列及日期时间的插入
  8. php语法中变量如何定义和使用,PHP语法—PHP的变量
  9. 《正则表达式经典实例(第2版)》——2.18 向正则表达式中添加注释
  10. paip.提升用户体验=----c++ qt 字体切换功能缺少的总结..
  11. Allwinner ClassA20类库分析
  12. 解决“你正在使用的浏览器版本过低,将不能正常浏览和使用知乎”问题
  13. 使用数据库有什么好处?
  14. 2022“杭电杯”中国大学生算法设计超级联赛(5)杭电多校第五场
  15. 确定你的台式计算机支持的内存类型,如何区分内存类型及查看内存的兼容性
  16. 详解百度大脑EdgeBoard出色的视频处理技术
  17. DPDK-实战之load_balancer(负载均衡)
  18. 点线面的特点_夯实基础!点线面的基本特点与表现
  19. JSRPC: WebSocket报错 Refused to connect to ‘ws:<URL>/ws?group=testname=wangluozhe‘ because it violate
  20. 12年来最大飞跃!黄仁勋发布史上最强GPU,世界首个实时光线追踪新一代图灵架构...

热门文章

  1. luogu P3643 [APIO2016]划艇
  2. 打造自己的 APP「冰与火百科」(二):接口、索引页
  3. 文案把卖点被埋没?如此挖掘电商产品卖点,让你轻松获客
  4. 太阳能自动灌溉系统 利用spwm实现逆变正弦波,仿真,程序,dxp原理图
  5. 进化者机器人完成 8 千万元 A+ 轮融资,还推出了教师助手小胖
  6. 【运筹学】线性规划数学模型 ( 单纯形法 | 迭代原则 | 入基 | 出基 | 线性规划求解示例 )
  7. python编写一个名片_教你做一张能运行 Python 的名片,成本只要20元!
  8. 【读书笔记】刻意练习
  9. linux嵌入式系统算法,嵌入式Linux操作系统调度算法研究
  10. 四川广电网络、阿里云、数梦工场强强联手 共建“智慧广电城市大脑”