P2706 巧克力

题目背景

王7的生日到了,他的弟弟准备送他巧克力。

题目描述

有一个被分成n*m格的巧克力盒,在(i,j)的位置上有a[i,j]块巧克力。就在送出它的前一天晚上,有老鼠夜袭巧克力盒,某些位置上被洗劫并且穿了洞。所以,你——王7的弟弟王9,必须从这个满目苍夷的盒子中切割出一个矩形巧克力盒,其中不能有被老鼠洗劫过的格子且使这个盒子里的巧克力尽量多。

输入输出格式

输入格式:

第一行有两个整数 n、m。第 i+1行的第 j 个数表示a[ i , j ]。如果这个数为 0 ,则表示这个位置的格子被洗劫过。

输出格式:

输出最大巧克力数。

输入输出样例

输入样例#1:

  1. 3 4
  2. 1 2 3 4
  3. 5 0 6 3
  4. 10 3 4 0
输出样例#1:

  1. 17
  2. //10 3 4这个矩形的巧克力数最大

说明

1≤n,m≤300

0≤a[i,j]≤255

for四次方枚举矩形的起始节点以及矩形的长宽,然后连T带Wa

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cstdlib>
  4. #include<iostream>
  5. #include<algorithm>
  6. #define N 500
  7. using namespace std;
  8. int n,m,s,x,y,a[N][N],sum[N][N],v1[N],v2[N],ans;
  9. int read()
  10. {
  11. ,f=; char ch=getchar();
  12. ') ch=getchar();
  13. +ch-',ch=getchar();
  14. return x*f;
  15. }
  16. int main()
  17. {
  18. n=read(),m=read();
  19. ;i<=n;i++)
  20. ;j<=m;j++)
  21. {
  22. a[i][j]=read();
  23. if(!a[i][j])
  24. v1[i]+=,v2[j]+=;
  25. sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+a[i][j];
  26. }
  27. ;l1<n;l1++)
  28. ;l2<m;l2++)
  29. ;i<=n-l1+;i++)
  30. )
  31. ;j<=m-l2+;j++)
  32. )
  33. {
  34. x=i+l1,y=j+l2;
  35. ans=max(ans,sum[x][y]-sum[x][j]-sum[i][y]+sum[i][j]);
  36. }
  37. printf("%d",ans);
  38. ;
  39. }

智障的33分代码

预处理出每一行的前缀和,然后暴力枚举矩形的上边界以及下边界,然后在枚举列,每当统计出的s出现负值,则说明出现了被吃掉的巧克力,更新s为0,然后在继续枚举。

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cstdlib>
  4. #include<iostream>
  5. #include<algorithm>
  6. #define N 500
  7. #define maxn 0x7fffffff
  8. using namespace std;
  9. long long n,m,s,x,y,a[N][N],sum[N][N],v1[N],v2[N],ans;
  10. int main()
  11. {
  12. scanf("%lld%lld",&n,&m);
  13. ;i<=n;i++)
  14. ;j<=m;j++)
  15. {
  16. scanf("%lld",&a[i][j]);
  17. if(!a[i][j])
  18. a[i][j]=-maxn;
  19. sum[i][j]+=sum[i-][j]+a[i][j];
  20. }
  21. ;i<n;i++)
  22. ;j<=n;j++)
  23. {
  24. ;k<=m;k++)
  25. {
  26. s+=sum[j][k]-sum[i][k];
  27. ) s=;
  28. ans=max(ans,s);
  29. }
  30. s=;
  31. }
  32. printf("%lld",ans);
  33. ;
  34. }

洛谷——P2706 巧克力的更多相关文章

  1. 洛谷P2706 巧克力

    题目背景 王7的生日到了,他的弟弟准备送他巧克力. 题目描述 有一个被分成n*m格的巧克力盒,在(i,j)的位置上有a[i,j]块巧克力.就在送出它的前一天晚上,有老鼠夜袭巧克力盒,某些位置上被洗劫并 ...

  2. 洛谷P4475 巧克力王国

    洛谷P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的. 但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 x 和 y 为 ...

  3. 洛谷 P4475 巧克力王国 解题报告

    P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...

  4. 洛谷—— P2183 巧克力

    https://www.luogu.org/problemnew/show/P2183 题目描述 佳佳邀请了M个同学到家里玩.为了招待客人,她需要将巧克力分给她的好朋友们.她有N(1<=N< ...

  5. [洛谷P2183]巧克力

    题目大意:有n块巧克力,每块巧克力有一个大小.巧克力可以切成若干份.现在要你切成大小相等的m块,且尽可能大.求这个大小. 解题思路:我们二分巧克力切成的大小,然后计算能切成多少块,判断即可.由于最大的 ...

  6. 洛谷 P2183 巧克力

    P2183 巧克力 题目描述 佳佳邀请了M个同学到家里玩.为了招待客人,她需要将巧克力分给她的好朋友们.她有N(1<=N<=5000)块巧克力,但是大小各不一样,第i块巧克力大小为为1*X ...

  7. 洛谷4475 巧克力王国(KD-Tree + 维护子树和)

    (嘤嘤嘤 又是一个自闭了一晚上的题) qwq果然不是平面上的点的问题,也可以直接用KDTree打暴力 我们对于巧克力直接建kdtree 维护一个\(mx[i],mn[i]\) 但是有一个非常不友好的事 ...

  8. 洛谷 P7450 - [THUSCH2017] 巧克力(斯坦纳树+随机化)

    洛谷题面传送门 9.13 补之前 8.23 做的题,不愧是鸽子 tzc( 首先我们先来探讨一下如果 \(c_{i,j}\le k\) 怎么做,先考虑第一问.显然一个连通块符合条件当且仅当它能够包含所有 ...

  9. 洛谷 P3802 小魔女帕琪 解题报告

    P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...

随机推荐

  1. 能力不足之 根据时序图转化为Verilog代码

    不能够把时序图看的非常透彻,然后把时序图写成Verilog代码,有时候甚至搞不清楚信号之间的时序关系.

  2. matplotlib学习记录 七

    # 绘制直方图 # 假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到 # 120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据? fro ...

  3. IOC容器和Bean的配置实例

    实验1: <!--实验1:通过IOC容器创建对象,并为属性赋值 --> <!-- 需要由IOC容器创建对象的全类名 --> <!-- 为了便于从IOC容器中获取book对 ...

  4. 水题:51Nod1432-独木舟

    1432 独木舟 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 Problem Description n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两 ...

  5. Latex:插入伪代码

    *本文属于转载. *转载链接:https://blog.csdn.net/lwb102063/article/details/53046265 目录 clrscode algorithm algori ...

  6. Django基于Pycharm开发之一【创建django工程】

    Django的工程结构,可以通过pycharm里面,选择创建django工程来直接创建,也可以通过命令行通过pip来安装. 一.通过命令行安装的步骤 Install Python. Install a ...

  7. Oracle 10g Data Pump Expdp/Impdp 详解

    Data Pump 介绍 在第一部分看了2段官网的说明, 可以看出数据泵的工作流程如下: (1)在命令行执行命令 (2)expdp/impd 命令调用DBMS_DATAPUMP PL/SQL包. 这个 ...

  8. 大数据学习——scala类相关操作

    1 类的定义 package com /** * Created by Administrator on 2019/6/3. */ //类并不用声明为public. class Person { // ...

  9. Python全栈开发第二期课表

     day01-python 全栈开发-基础篇                 01 开课介绍 01:55:13 ★  02 开课介绍02 01:28:31 ★  03 开课介绍03 00:22:55 ...

  10. Ajax、Comet、Websocket、SSE

    从 http 协议说起 1996年IETF  HTTP工作组发布了HTTP协议的1.0版本 ,到现在普遍使用的版本1.1,HTTP协议经历了17 年的发展.这种分布式.无状态.基于TCP的请求/响应式 ...