题意

见luogu

Sol

贪心+枚举

如果知道最后一次是消除一行

那么一定消了\(n\)行

此时只要消的列最小就好了

枚举每列从上往下消到哪里,那么下面消的越小越好

那么就有了贪心策略:

先消左右的列,再消上面,再消下面

最后一次消列的情况是一样的

# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll;
const int _(2005); IL int Input(){
RG int x = 0, z = 1; RG char c = getchar();
for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1;
for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);
return x * z;
} int k, m, n, s1[_][_], s2[_][_], ans = 2e9; IL int Calc1(RG int x){
RG int l1 = 1, r1 = n, l2 = 1, r2 = m, ret = 0;
while(l1 <= r1 && l2 <= r2){
++ret;
if(s2[r1][l2] - s2[l1 - 1][l2] <= k) ++l2;
else if(s2[r1][r2] - s2[l1 - 1][r2] <= k) --r2;
else if(s1[l1][r2] - s1[l1][l2 - 1] <= k && l1 < x) ++l1;
else if(s1[r1][r2] - s1[r1][l2 - 1] <= k) --r1;
else return 2e9;
}
return ret;
} IL int Calc2(RG int x){
RG int l1 = 1, r1 = n, l2 = 1, r2 = m, ret = 0;
while(l1 <= r1 && l2 <= r2){
++ret;
if(s1[l1][r2] - s1[l1][l2 - 1] <= k) ++l1;
else if(s1[r1][r2] - s1[r1][l2 - 1] <= k) --r1;
else if(s2[r1][l2] - s2[l1 - 1][l2] <= k && l2 < x) ++l2;
else if(s2[r1][r2] - s2[l1 - 1][r2] <= k) --r2;
else return 2e9;
}
return ret;
} int main(RG int argc, RG char* argv[]){
k = Input(), m = Input(), n = Input();
for(RG int i = 1; i <= n; ++i)
for(RG int j = 1; j <= m; ++j)
s1[i][j] = s2[i][j] = Input();
for(RG int i = 1; i <= n; ++i)
for(RG int j = 2; j <= m; ++j)
s1[i][j] += s1[i][j - 1];
for(RG int j = 1; j <= m; ++j)
for(RG int i = 2; i <= n; ++i)
s2[i][j] += s2[i - 1][j];
for(RG int i = 1; i <= n + 1; ++i) ans = min(ans, Calc1(i));
for(RG int i = 1; i <= m + 1; ++i) ans = min(ans, Calc2(i));
printf("%d\n", ans);
return 0;
}

Luogu3444:[POI2006]ORK-Ploughing的更多相关文章

  1. java web 开发三剑客 -------电子书

    Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...

  2. 所有selenium相关的库

    通过爬虫 获取 官方文档库 如果想获取 相应的库 修改对应配置即可 代码如下 from urllib.parse import urljoin import requests from lxml im ...

  3. [洛谷P3444] [POI2006]ORK-Ploughing

    洛谷题目链接[POI2006]ORK-Ploughing 题目描述 Byteasar, the farmer, wants to plough his rectangular field. He ca ...

  4. [POI2006]ORK-Ploughing(贪心,枚举)

    [POI2006]ORK-Ploughing 题目描述 Byteasar, the farmer, wants to plough his rectangular field. He can begi ...

  5. 【Luogu3444】ORK-Ploughing(贪心)

    [Luogu3444]ORK-Ploughing(贪心) 题面 Luogu 题解 我们知道,如果我们选定了以横向为主,或者纵向为主, 那么就有尽可能减少另一个方向上耕地的次数 所以分开贪心,但是本质相 ...

  6. Scalaz(14)- Monad:函数组合-Kleisli to Reader

    Monad Reader就是一种函数的组合.在scalaz里函数(function)本身就是Monad,自然也就是Functor和applicative.我们可以用Monadic方法进行函数组合: i ...

  7. BZOJ1510: [POI2006]Kra-The Disks

    1510: [POI2006]Kra-The Disks Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 265  Solved: 157[Submit][ ...

  8. BZOJ1524: [POI2006]Pal

    1524: [POI2006]Pal Time Limit: 5 Sec  Memory Limit: 357 MBSubmit: 308  Solved: 101[Submit][Status] D ...

  9. BZOJ1511: [POI2006]OKR-Periods of Words

    1511: [POI2006]OKR-Periods of Words Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 174  Solved: 92[Su ...

随机推荐

  1. 存个emacs配置

    emacs配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd &qu ...

  2. CentOS利用Nginx+Docker部署.netcore应用

    安装docker 官方文档https://docs.docker.com/engine/installation/linux/docker-ce/centos/ [root@sn ~]# yum re ...

  3. ASP.NET与ASP.NET MVC 的差异、优点及缺点

    众所周知,在微软的编程语言发展历史中,asp.net是不得不提的一个重要的发展阶段,它具有快速开发.层级明确的优点,但最大的缺点,同时也是它逐渐被废弃的原因就是,页面加载的viewstate过于庞大, ...

  4. DxPackNet 5.视频高质量的压缩和传输

    DxPackNet 对视频的压缩和解压也提供了很好的支持,且系统不需要装第三方解码器哦~ 主要用到了 IxVideoEncoder 视频编码器  和 IxVideoDecoder 两个接口 这里只做简 ...

  5. 老男孩Python全栈开发(92天全)视频教程 自学笔记17

    day17课程内容: 装饰器回顾练习 登录功能: #登录京东,不同的页面,选择页面,然后不同的登录方式with open('作业5.1jingdong','w',encoding='utf8') as ...

  6. CodeForces - 551C 二分+贪心

    题意:有n个箱子形成的堆,现在有m个学生,每个学生每一秒可以有两种操作: 1: 向右移动一格 2: 移除当前位置的一个箱子 求移除所有箱子需要的最短时间.注意:所有学生可以同时行动. 思路:二分时间, ...

  7. 吾八哥学Selenium(四):操作下拉框select标签的方法

    我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法.为了让大 ...

  8. 【视频教程】一步步将AppBox升级到Pro版

    本系列教程分为上中下三部分,通过视频的形式讲解如何将基于FineUI(开源版)的AppBox v6.0一步一步升级FineUIPro(基础版). [视频教程]一步步将AppBox升级到Pro版(上)主 ...

  9. Apache+PHP+Mysql中文配置

    一.安装Apache2 1.输入sudo apt-get install apache2下载安装apache2 2.输入Y回车确认 3.安装成功 Apache安装完成后,默认的网站根目录是" ...

  10. react-dom.js 源码

    /** *以下这是 react-dom.js 的源代码 * ReactDOM v15.3.1 * * Copyright 2013-present, Facebook, Inc. * All righ ...