Luogu3444:[POI2006]ORK-Ploughing
题意
见luogu
Sol
贪心+枚举
如果知道最后一次是消除一行
那么一定消了nn<script type="math/tex" id="MathJax-Element-80">n</script>行
此时只要消的列最小就好了
枚举每列从上往下消到哪里,那么下面消的越小越好
那么就有了贪心策略:
先消左右的列,再消上面,再消下面
最后一次消列的情况是一样的
# 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相关推荐
- [学习笔记]标记永久化
线段树出了名的操作是lazy标记. 普通lazy标记涉及到pushup和pushdown 这个pushup只涉及两个儿子合并,并且两个儿子是两个点. 但是有的时候,两个儿子是两个树,pushup复杂度 ...
- 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例
大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...
- golang大厂面试2
golang大厂面试 滴滴 写个二分查找 以下是一个简单的二分查找算法的 Go 语言实现: package mainimport "fmt"// 二分查找函数 func binar ...
- InstallShield内部库函数
InstallShield内部库函数 下载资源:点击 1 库函数综述 InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态, ...
- bzoj1513【POI2006】Tet-Tetris 3D
1513: [POI2006]Tet-Tetris 3D Time Limit: 30 Sec Memory Limit: 162 MB Submit: 733 Solved: 245 [Subm ...
- Redis(七)Redis的噩梦:阻塞
为什么说阻塞是Redis的噩梦: Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的.当Redis用于高并发场景时,这条线程就变成了它的生命线.如果出现阻塞,哪怕是很短时间,对于应用 ...
- bash下: () {} [] [[]] (())的解释
转载自:http://dev.firnow.com/course/3_program/shell/shelljs/20090828/172746.html bash下有很多像{}.[]等一些符号命令, ...
- P3435 [POI2006]OKR-Periods of Words kmp + fail指针
传送门 文章目录 题意: 思路: 题意: 思路: 转换一下题意,就是求一个最小公共前后缀,显然可以暴跳nenene数组,复杂度O(n2)O(n^2)O(n2),注意到我们每次都跳的话会跳到很多重复的位 ...
- ROS中阶笔记(五):机器人感知—机器视觉
ROS中阶笔记(五):机器人感知-机器视觉 文章目录 1 ROS中的图像数据 1.1 二维图像 1.1.1 安装安装usb_cam 1.1.2 显示图像数据 1.2 三维图像(kinect) 2 摄像 ...
- 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第01章 语言处理与Python
第01章 语言处理与Python 1.1 语言计算:文本和单词 Python入门 NLTK 入门 搜索文本 计数词汇 1.2 近观Python:将文本当做词链表 链表(list,也叫列表) 索引列表 ...
最新文章
- PyTorch 笔记(06)— Tensor 索引操作(index_select、masked_select、non_zero、gather)
- dw的css样式怎么删除掉,三种方法教你DreamWeaver下如何应用CSS样式
- Kibana查询说明
- 初识GaussDB(for Cassandra)
- 20140213-面向对象技术概论
- 一般毕业论文的查重要求有哪些?
- [矩阵的QR分解系列二] 吉文斯(Givens)变换
- 中国企业如何实施5s管理体系
- c语言中sub指令,sub指令(汇编语言sub用法)
- 因创业的辞职报告怎么写[范文7篇]
- linux 系统中/etc/fstab 文件各字段功能,Linux系统 /etc/fstab各个字段含义解释
- 撒克逊人:XSLT处理器的剖析
- SEH X64(2)
- 【附源码】计算机毕业设计java医疗健康查询系统设计与实现
- 大话设计模式-第12章 牛市股票还会亏钱?--外观模式
- ESD二极管各项参数字母的解释-优恩
- Deer-ui:一个简单高效的react组件库
- 17.在NBA我需要翻译-适配器模式(大话设计模式kotlin版)
- 代码敲累了就来写《创业计划书》吧
- 安装智能消费机服务器连接,中控消费机软件常见问题|中控CM20消费机教程
热门文章
- SQL基础语句汇总-学习
- eduline php5.3,index.php
- 智慧环保综合解决方案
- Unhandled exception in MSDEV.EXE(DEVSHL.DLL) 0xC0000005 access violation
- 聚溶众星CEO朱纯仪:MCN一年营收2.5亿,带货才是直播的未来
- Process v3.5发布了!调节中介分析利器 SPSS process macro 插件
- 电源大师课笔记 2.1
- UE4C++ Http下载文件
- R语言入门(3)——R包的使用
- vue 基于jsbarcode插件打印二维码