P2706 巧克力

题目背景

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

题目描述

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

输入输出格式

输入格式:

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

输出格式:

输出最大巧克力数。

输入输出样例

输入样例#1:

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

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

说明

1≤n,m≤300

0≤a[i,j]≤255

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

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define N 500
using namespace std;
int n,m,s,x,y,a[N][N],sum[N][N],v1[N],v2[N],ans;
int read()
{
    ,f=; char ch=getchar();
    ') ch=getchar();
    +ch-',ch=getchar();
    return x*f;
}
int main()
{
    n=read(),m=read();
    ;i<=n;i++)
     ;j<=m;j++)
     {
         a[i][j]=read();
         if(!a[i][j])
          v1[i]+=,v2[j]+=;
        sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+a[i][j];
      }
    ;l1<n;l1++)
      ;l2<m;l2++)
        ;i<=n-l1+;i++)
           )
           ;j<=m-l2+;j++)
             )
              {
                  x=i+l1,y=j+l2;
                  ans=max(ans,sum[x][y]-sum[x][j]-sum[i][y]+sum[i][j]);
              }
    printf("%d",ans);
    ;
}

智障的33分代码

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

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define N 500
#define maxn 0x7fffffff
using namespace std;
long long n,m,s,x,y,a[N][N],sum[N][N],v1[N],v2[N],ans;
int main()
{
    scanf("%lld%lld",&n,&m);
    ;i<=n;i++)
     ;j<=m;j++)
     {
         scanf("%lld",&a[i][j]);
         if(!a[i][j])
          a[i][j]=-maxn;
        sum[i][j]+=sum[i-][j]+a[i][j];
      }
    ;i<n;i++)
     ;j<=n;j++)
     {
         ;k<=m;k++)
         {
             s+=sum[j][k]-sum[i][k];
             ) s=;
             ans=max(ans,s);
           }
        s=;
      }
    printf("%lld",ans);
    ;
}

洛谷——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. Linux 用户管理(一)

    一.基础知识介绍 用户 用户组的概念 每个文件和进程,都需要对应一个用户和用户组 linux 系统通过UID和 GID识别用户和组 用户名相当于人名(给人看) UID和GID相当于身份证(系统用的) ...

  2. Python学习笔记:xlrd和xlwt(Excel读写)

    xlrd模块 Python的三方库xlrd用于对excel文件进行读取,可以是“.xls”或“.xlsx”格式(旧版本可能不支持“.xlsx”). 下载安装:https://pypi.org/proj ...

  3. Python中的魔术方法详解(双下方法)

    介绍 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”,中文称『魔术方法』,例如类的初始化方法 __init__ ,Python中所有的魔术方法均在官方文档中 ...

  4. Selenium WebDriver-判断页面中某一元素是否已经显示,通常用于断言

    判断界面中某一元素是否已经呈现,多用于断言,代码如下: #encoding=utf-8 import unittest import time from selenium import webdriv ...

  5. Facebook App 的头文件会有更多的收获

    最近在看一些 App 架构相关的文章,也看了 Facebook 分享的两个不同时期的架构(2013 和 2014),于是就想一窥 Facebook App 的头文件,看看会不会有更多的收获,确实有,还 ...

  6. python 计算日期间隔

    from datetime import date a = date(2011,11,24) b = date(2011,11,17) print(a-b)

  7. list 类

    题外:len = sizeof(a)/sizeof(a[0]); 求出数组长度 1.list是一种以双向链表方式实现的一种顺序容器.list容器中,存放元素的存储单元可以是连续的也可以是不连续的. 2 ...

  8. 九度oj 题目1184:二叉树遍历

    题目描述: 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储). 例如如下的先序遍历字符串:ABC##DE#G##F###其中“#”表示的是空格,空格字符代表空 ...

  9. bootstrap 中dropmenu不起作用

    今天在使用bootstrap发现dropmenu一直不起作用,代码是从官网拷贝过来. 网上查找可以用的页面进行一点点的去除分析,发现竟然是顺序反了导致的. 在使用dropmenu时需要引入jquery ...

  10. 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7

    一般情况下可能是文件格式有问题,将正确的文件内容替换掉错误的文件内容,不断地尝试,直到文件不报错,当然也有可能是下面的原因:下面是2.7.1版本的方法,其他类似) 或者是:进入该jar包指示的路径,删 ...