【NHOI2018】黑格覆盖

2019NHOI小甲解题思路 第一题 打印方阵 题目描述 下面这样的方阵很有规律,称为蛇形方阵。例如3*3的: 1 2 3 6 5 4 7 8 9 现在给定边长,输出相应的蛇形方阵。 输入: 1个整数n,表示要输出n*n的蛇形方阵,1<=n <=100。 输出: n行,每行n个整数,空格隔开。 样例输入 4 样例输出 1 2 3 4 8 7 6 5 9 10 11 ... 阅读详情

【题目描述】
在一张由 M * N 个小正方形格子组成的矩形纸张上,有 k 个格子被涂成了黑色。给你一张由 m * n 个同样小正方形组成的矩形卡片,请问该卡片最多能一次性覆盖多少个黑格子?
【输入数据】
输入共 k+1 行:
第 1 行为 5 个整数 M、N、m、n、k,其含义如题目所述。
接下来 k 行,每行 2 个整数,分别表示被涂成黑色的格子的行、列坐标。
【输出数据】
输出共 1 行,1 个整数,表示卡片一次性最多能覆盖的黑格子数。
【样例输入】
3 5 2 2 3
1 1
2 2
3 5
【样例输出】
2
这里写图片描述
【解题思路】
利用二维前缀和求出固定范围内的部分和,求最大即可。
这里写图片描述
图片来自CPLUSOJ·P1237(侵删)
【解题反思】

  • 注意横放竖放的情况要分开处理
  • 当给出用于覆盖的方块的边长大于原方块的边长时要特判

【参考程序】

#include<iostream>
#include<cstdio>
using namespace std;
int M,N,m,n,k,ans,a[1005][1005],sum[1005][1005],tmp[1005][1005],x,y;
int main()
{
    //freopen("cover.in","r",stdin);
    //freopen("cover.out","w",stdout);
    scanf("%d%d%d%d%d",&M,&N,&m,&n,&k);
    for (int i=1;i<=k;i++) 
    {
        scanf("%d%d",&x,&y);
        a[x][y]=1;
    }
    for (int i=1;i<=M;i++)
    {
        for (int j=1;j<=N;j++)
            tmp[i][j]=tmp[i][j-1]+a[i][j];
    }
    for (int i=1;i<=M;i++)
        for (int j=1;j<=N;j++)
        {
            sum[i][j]=sum[i-1][j]+tmp[i][j];
        }
    int m1=m,n1=n;
    if (m1>M) m1=M;
    if (n1>N) n1=N;
    for (int i=m1;i<=M;i++)
        for (int j=n1;j<=N;j++)
            ans=max(ans,sum[i][j]-sum[i][j-n1]-sum[i-m1][j]+sum[i-m1][j-n1]);
    if (m>M) m=M;
    if (n>N) n=N;
    for (int i=n;i<=M;i++)
        for (int j=m;j<=N;j++)
            ans=max(ans,sum[i][j]-sum[i][j-m]-sum[i-n][j]+sum[i-n][j-m]);
    printf("%d",ans);
    return 0;
}
【NHOI2019】小甲区赛模拟测试 第一题:数的排序(sort) 题目描述: 输入n个不超过30000的整数(n≤10)。然后求出每个数的数字和,再按每个数的数字和由小到大排列输出。输入格式:第一行为整数n第二行为n个整数输出格式:由小到大排列的每个数的数字和(每个数之间保留一个空格)样例输入:433 104 87 16样例输出:5 6 7 15样例输出说明:5为数104的数字和,即 5=1+0+4 6为数... 阅读详情

相关推荐

SpringBoot 通过 JMS 集成 IBM MQ

IBM MQ 作为老牌的企业级消息中间件,虽然在当下云原生时代已不再是主流选择,但在金融、银行、保险等传统行业的核心业务系统中仍然占据着重要地位。这些行业对系统的稳定性、可靠性和事务一致性有着极高的要求,IBM MQ 正是在这些方面表现出色。尽管近年来 RabbitMQ、Apache Kafka 等新一代消息中间件在新兴项目中更受欢迎,但许多金融公司和大型企业仍在使用 IBM MQ 作为核心业务系统的消息传递基础设施。

小单的博客专栏 948

【C++二维前缀和】黑格覆盖

在一张由 M * N 个小正方形格子组成的矩形纸张上,有 k 个格子被涂成了黑色。给你一张由 m * n 个同样小正方形组成的矩形卡片,请问该卡片最多能一次性覆盖多少个黑格子?对于 100%的数据:M、N、m、n、k 均小于等于 1000,所有黑格不重复出现。接下来 k 行,每行 2 个整数,分别表示被涂成黑色的格子的行、列坐标。第 1 行为 5 个整数 M、N、m、n、k,其含义如题目所述。输出共 1 行,1 个整数,表示卡片一次性最多能覆盖的黑格子数。对于 40%的数据:m=n;

CuberW的博客 682

Excel数据分析实例

Excel数据分析实例 Excel数据分析五步走: 明确目的——观察数据——数据清洗——数据分析——数据可视化 数据是从Kaggle上下载的,牛油果的案例 目的 数据分析都是为了企业业务做得更好,这次案例主要针对于牛油果的销售量进行分析。 数据 检查是否有缺失值、是否一致化、是否有脏数据 分析 1.不同区域不同季度的牛油果价格走势 从上图中可以看出,东北地区的价格一直较高,而中南地区一直较低 2.2015-2018四年不同城市的销售总和 3.四年间不同城市的销售排名(降序排序) 可视化 1.四年间销

m0_53033371的博客 4367

黑格覆盖(nhoi2018初中3)

在一张由 M * N 个小正方形格子组成的矩形纸张上, 有 k 个格子被涂成了黑色。给你一张由 m * n 个同样小正方形组成的矩形卡片, 请问该卡片最多能一次性覆盖多少个黑格子?对于 100%的数据: M、 N、 m、 n、 k 均小于等于 1000, 所有黑格不重复出现。接下来 k 行, 每行 2 个整数, 分别表示被涂成黑色的格子的行、 列坐标。第 1 行为 5 个整数 M、 N、 m、 n、 k, 其含义如题目所述。输出共 1 行, 1 个整数, 表示卡片一次性最多能覆盖的黑格子数。

guhbebskn的博客 294

PRIDE数据库20年:2025更新

PRoteomics IDEntifications (PRIDE)数据库(https://www.ebi.ac.uk/pride/)是全球领先的基于质谱(MS)的蛋白质组学数据存储库,也是ProteomeXchange联盟的创始成员之一。本文总结了过去3年中PRIDE资源及相关工具的发展情况。提交到PRIDE存档的数据集数量平均每月达到约534个。主要得益于基础设施的持续改进,如用于超大数据集的新文件传输协议(Globus)、新的数据重新提交流程以及自动数据集验证过程。

多组・学・多组学 2062

WPT无线电能传输公式推导、编程计算、仿真验证全过程

主要分为5大模块,分别为无补偿,SS,SP,PP,PS,每个模块对应有公式推导,matlab编程计算相关参数以及将计算参数和仿真验证观察是否对应。采用matlab编程计算参数以及simulink仿真验证

zzhao2580的博客 7752

2020-1-31赛

二维数组前缀和 问题 C: 黑格覆盖 时间限制: 1 Sec 内存限制: 128 MB [提交] [状态] 题目描述 在一张由 M * N 个小正方形格子组成的矩形纸张上,有 k 个格子被涂成了黑色。给你一张由 m * n 个同样小正方形组成的矩形卡片,请问该卡片最多能一次性覆盖多少个黑格子? 输入 输入共 k+1 行: 第 1 行为 5 个整数 M、N、m、n、k,其含义如题目所述。 接下来 ...

QXK_Jack的博客 824

VSCODE编辑+EIDE插件调试+STM8_Debug插件调试+IAR_STM8工具链编译开发项目

1. 安装 在VS CODE安装EIDE、STM8-Debug插件 2. 使用 EIDE 创建一个 8/16 Bit MCU 项目 新建虚拟文件夹,把工程外部的文件添加进虚拟文件夹,实现工程和源文件之间的关系,而不用实际把源文件复制到工程目录下。 EIDE工程和源文件实现分开放置,EIDE(EIDE工程)、EWSTM8(IAR STM8工程)、Project(ST Visual Develop工程) 选择工具链 烧录工具选择 头文件包含目录 添加宏定义 3. 编译 4. 使用STM8

TrueLink的博客 5500

2023年2月蓝桥STEMA评测C++中级组编程题(个人代码学习)(持续更新)

蓝桥STEMA,个人代码学习。

4309

Matplotlib图片尺寸调整全攻略:从figsize到savefig的实战技巧

在数据可视化与科学计算中,图形尺寸控制是影响图表可读性与专业度的基础环节。其核心原理在于协调逻辑尺寸(英寸)与物理输出(像素)的映射关系,这直接决定了信息呈现的清晰度与布局合理性。从技术价值看,精准的尺寸控制能提升图表在不同媒介(如学术论文、报告、网页)中的适配性,避免显示不全、模糊失真等常见问题。在应用场景上,无论是Jupyter Notebook中的交互探索、自动化报告的批量生成,还是满足严格出版要求的插图制作,都需要掌握对应的尺寸调整策略。本文聚焦于matplotlib中的figsize参数、rcPa

weixin_30899023的博客 328

云端全自动AI漫剧生成工作流:从模型选型到完整实现

本文提出了一套云端全自动AI漫剧生成工作流解决方案,旨在解决传统漫剧制作效率低下的问题。该系统采用"编排引擎+模型矩阵"架构,通过集成大语言模型、图像生成、视频合成等技术,实现从剧本输入到成片输出的全流程自动化。 核心内容包括: 模型选型方案:剧本解析采用DeepSeek-V3/GPT-4o,图像生成使用DALL-E 3,视频合成选用Stable Video Diffusion,语音合成采用MiniMax TTS 系统架构设计:基于Celery分布式任务队列的编排层,分解任务至各功能模块

huanghm88的专栏 640

【题解】黑格覆盖

题目描述 在一张由M×N个小正方形格子组成的矩形纸张上,有k个格子被涂成了黑色。给你一张由m×n个同样小正方形组成的矩形卡片,请问该卡片最多能一次性覆盖多少个黑格子? 输入输出格式 输入格式 输入共k+1行: 第1行为5个整数M、N、m、n、k,其含义如题目所述。 接下来k行,每行2个整数,分别表示被涂成黑色的格子...

weixin_30652491的博客 840

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

黑格覆盖(nhoi2018初中3)题解

LXH20111118的博客 153

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

题解 # 二维矩阵最大矩形问题#

解决二维矩阵最大矩形问题

如是牛 2178

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【刷题之路】 涂色问题

你要在一个nxm的格子图上涂色,你每次可以选择一个未涂色的格子涂上你开始选定的那种颜色。同时为了美观,我们要求你涂色的格子不能相邻,也就是说,不能有公共边,现在问你,在采取最优策略的情况下,你最多能涂多少个格子? 给定格子图的长n和宽m。请返回最多能涂的格子数目。 只有一种颜色,要想不相邻,每行一个隔一个涂色即可,如果行数或者列数为偶数,最多的格子即为(m/2)*n或者(n/2)*m,

zyn2609530的博客 6596

【蓝桥杯C++练习】每日一练07-编程题

【编程实现】 查找路径。 有一张m×n 个小方格的地图,一个机器人位于地图的左上角(如图标记为 Start 的地方),它每步只能向右或者向下移动一格,如果走到右下角的终点(如图标记为 Finish 的地方),有多少种不同的方法? 例如,一个 3×2 的地图,行走的方法数是 3 种,分别是: 1. 右 -> 右 -> 下 2. 右 -> 下 -> 右 3. 下 -> 右 -> 右 输入描述: 两个整数m(m<=100)和 n(n<=100),代表地图的行数和列数

Khalid的博客 1492

广东省2018NHOI小乙GoC编程-柠檬片(lemon)(含题库答题软件账号)

如需给您的学生安排作业和训练请点,或者自己练习。如需给您的学生安排作业和训练请点,或者自己练习。

新柠科技 394

NHOI初中 找素数

题目描述 素数又称质数, 是指一个大于 1 的正整数, 如果除了 1 和它本身以外, 不能再被其它的数整除,例如: 2、 3、 5、 97 等都是素数。 2 是最小的素数。 现在, 给你 n 个数字, 请你从中选取一部分, 用它们拼出一个最大的素数。 注意: 某个数字出现多少次你就可以用多少次, 6 与 9 不能混用。 输入 输入共 2 行: 第 1 行, 1 个整数 n, 表示所给你的数字的个数...

qq_41493339的博客 937

数黑格有多少个,模拟题,POJ(1656)

题目链接:http://poj.org/problem?id=1656 #include <stdio.h> #include <iostream> #include <string.h> using namespace std; int maps[105][105]; int main() { int t; ...

weixin_33928467的博客 166

算法(c++)

如果小明买了第 i 本书并阅读该书,那么小明的所有 m 种算法的水平都有所提升,其中第 j 种算法水平会提升 s[i][j]。为了备考NHOI,小明需要学习 m 种算法。一开始小明每种算法的水平都是 0,完全是零基础。第一行,三个整数:n,m,X。小明可以获得一等奖吗?如果不行,输出 -1。为了确保在NHOI比赛能获得一等奖,每一种算法的水平都至少要达到 X。书店有 n 本书,第 i 本书的价格是 c[i]。其中 1 ≤ c[i] ≤ 100000。

SunArrebol的博客 582

NHOI2016简要分析

话说这次考崩了……本来很容易就能够考到第二的……但是第一题没有用long long然后就只剩15分了…… 另外最后一题更加神奇地没有搞到分数……本来我推出了30%数据的一个暴力递推式,但是没有搞对……不过考完之后5分多钟就知道怎么回事了。如果中途车不出问题就可以做出来了吧…… 好吧,话不多说,先上分析: 【T1:购书】 应该来说相当容易……但是我没有发现数据规模的问题。其实注意用一下64

算法的设计与应用研究 1843

2019NHOI初中 第五题 蜈蚣

你有C只蜈蚣,每只蜈蚣有F只脚。冬天来了,要给蜈蚣们穿袜子。抽屉里有N种颜色的袜子,第i种颜色袜子的数量有a[i]只。对于一只蜈蚣来说,它所有的脚穿的袜子的颜色必须相同。现在你闭上眼睛,从抽屉里面随意拿出X只袜子,你要保证随意拿出来的X只袜子一定可以满足所有蜈蚣的需求。如果X不存在,输出-1。第一行,三个整数,C,F,N。第二行,N个整数,第i个整数是a[i]。最小的X,如果X不存在,输出-1。

LDXX31的博客 599

2019NHOI初中 第四题 货币系统(2.7)

i<=e;i++)i>=e;i--)vi ans;ll ret=0;return ret;return ret;cout<<endl;int main()v.clear();i<=n;i++)int x;cin>>x;return 0;小知识:文件输入输出。

LDXX31的博客 383

NHOI2019总结

T1~T3略过 T4 货币系统 首先考虑没有新面值的情况,可以知道所用的最小面值可以用下面的伪代码求出: for i = 15 downto 1 ans += money / c[i] money %= c[i] 这是一个贪心,因为原本的面值都是一个数字加几位0,所以money的每一位都分开计算,然后加起来就可以了,然后每一位都有1,2,5三种选择,那么每个数字对应的纸币数如下:...

juruo_hejiarui的博客 829
上一篇: 【NHOI2018】扫雷完成图
下一篇: 【NHOI2018】找素数
苟岂
博客等级 码龄10年 20粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值