
【DP】ssl 2315.打砖块
发布日期:2021-05-07 22:48:03
浏览次数:22
分类:精选文章
本文共 842 字,大约阅读时间需要 2 分钟。
题目描述
KXT是一个很无聊的小朋友,一天到晚都在打坐…
一天,被他发现了一个比打坐更无聊的事情——打砖块。很多块砖分布在一个mm的矩阵中,他可以消掉以他为左上角顶点的一个nn的矩阵里的所有砖块。 喜欢偷懒的他请来了你帮他计算可以消掉最多的砖块数(只能消一次)。>Input
第一行:用空格隔开的三个整数n、m、k。
接下来k行,每行2个用空格隔开的整数Xi、Yi,表示第i块砖在Xi行、Yi列的位置。>Output
为可以消掉最多的砖块数。
>Sample Input
5 10 112 14 64 93 99 79 97 98 108 88 610 2
>Sample Output
6
【样例解释】
站在第4行、6列的位置,可以消除6个方块。
【数据范围】
n<=m; k<=m*m
60%:n<=70; m<=70; k<=4900 100%:n<=1000; m<=1000; k<=1000000;思路
吐槽:啊啊啊好容易超时啊啊啊
代码
#includeint n,m,s,ans,k,a[1001][1001]={0};int main(){ scanf("%d%d%d",&n,&m,&k); for(int i=1;i<=k;i++){ scanf("%d%d",&s,&ans); a[s][ans]=1; } for(int i=1;i<=m;i++) for(int j=1;j<=m;j++) a[i][j]+=a[i][j-1]; ans=0; for(int i=n;i<=m;i++) for(int j=n;j<=m;j++){ s=0; for(k=i-n+1;k<=i;k++) s+=a[k][j]-a[k][j-n]; if(s>ans) ans=s; } printf("%d",ans); return 0;}
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月15日 18时30分13秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
冒泡排序又来啦(C/C++版本)
2021-05-08
python负数存储
2021-05-08
求二维数组中最大值的位置
2021-05-08
python中sort和sorted的区别
2021-05-08
vue中echart数据动态切换,一看就懂
2021-05-08
Python3.6爬虫记录
2021-05-08
搞清楚Spring Cloud架构原理的这4个点,轻松应对面试
2021-05-08
1月份2月份GitHub上最热门的23个Java开源项目
2021-05-08
maven安装
2021-05-08
2020第十五届全国大学生智能汽车竞赛——4X4矩阵键盘+Flash调参系统
2021-05-08
合并两个有序数组
2021-05-08
Ubuntu 环境下使用中文输入法
2021-05-08
小白学习Vue(?)--model选项的使用(自定义组件文本框双向绑定)
2021-05-08
聊聊我的五一小假期
2021-05-08
面向对象之异常处理:多路捕获
2021-05-08
Python简易五子棋
2021-05-08
MySQL8.0.19 JDBC下载与使用
2021-05-08
Vue新建项目——页面初始化
2021-05-08
Cent OS 7.6 服务器软件安装(这篇博客主要是为了方便我配置云主机的)
2021-05-08
MySQL使用系列文章
2021-05-08