[USACO11MAR] Brownie Slicing G题解(二分+二维前缀和+矩阵分割)
[USACO11MAR] Brownie Slicing G
题目地址
P3017 [USACO11MAR] Brownie Slicing G
思路
二分最大化最小值
切割思路:
一行一行进行切割,如果这一行可以切割出b块大于等于mid的块,就开始切割下一行
如果无法切割出b块,就把正在切割的行与下一行拼起来一起切割
最后通过能切割出b块的水平块块够不够a条来判断m是否合适
代码
#include <iostream>using namespace std;int a[1010][1010], s[1010][1010];
int r, c, x, y;bool check(int m) {int lrow = 0;int rows = 0;for (int i = 1; i <= r; i ++) {int num = 0, sum = 0;for (int j = 1; j <= c; j ++) {if (sum + (s[i][j]-s[i][j-1])-(s[lrow][j]-s[lrow][j-1]) < m)sum += (s[i][j]-s[i][j-1])-(s[lrow][j]-s[lrow][j-1]);else {sum = 0;num ++;}}if (num >= y) {lrow = i;++ rows;}}return rows >= x;
}int main() {cin >> r >> c >> x >> y;for (int i = 1; i <= r; i ++)for (int j = 1; j <= c; j ++) {cin >> a[i][j];s[i][j] = s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];}int left = 0, right = s[r][c];//m 越小越容易成功while (left < right) {int m = left + right + 1 >> 1;if (check(m))left = m;elseright = m - 1;}cout << left;return 0;
}
相关文章:
[USACO11MAR] Brownie Slicing G题解(二分+二维前缀和+矩阵分割)
[USACO11MAR] Brownie Slicing G 题目地址 P3017 [USACO11MAR] Brownie Slicing G 思路 二分最大化最小值 切割思路: 一行一行进行切割,如果这一行可以切割出b块大于等于mid的块,就开始切割下一行 如果无法切割出b块,就把正在…...
【每日一题】—— B. Arrays Sum (Grakn Forces 2020)
🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…...
XTU-OJ 1328-数码和
题目描述 一个10进制数n在2∼16进制下可以得到的不同的数码和,求在这些数码和中出现次数最多的数码和。 比如20, 进制2345678910111213141516数码10100202110403226242220191817161514数码和2424586421098765 其中数码和2和4分别出现了3次,为…...
混入组件 (mixin)
1 什么是混入以及作用 *混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。作用:主要作用是继承和封装…...
ubuntu18.04 RTX3060 rangnet++训练
代码链接: https://github.com/PRBonn/lidar-bonnetal 安装anaconda环境为 CUDA 11.0(11.1也可以) anaconda环境如下 numpy1.17.2 torchvision0.2.2 matplotlib2.2.3 tensorflow1.13.1 scipy0.19.1 pytorch1.7.1 vispy0.5.3 opencv_python…...
HZOJ-72:猜拳
题目描述 在一次聚会中,每人拿着一张印有石头、剪刀、布的卡片,每个人具体拿得是哪种卡片不得而知。 现在告诉你某些人之间的胜负关系,并会询问某两个人之间的对战结果,人按照从 11 到 n� 编号。 对于每个…...
【Django 03】QuerySet 和 Instance应用
1. DRF QuerySet 和 Instance功能概述 1.1 QuerySet 从数据库中查询结果存放的集合称为 QuerySet。 Django ORM用到三个类:Manager、QuerySet、Model。每个Model都有一个默认的 manager实例,名为objects。Django的ORM通过Mode的objects属性提供各种数据…...
安装 mysql
gpt: 要在 Debian 11 上安装 MySQL 数据库服务器,您可以使用以下步骤: 1. **更新软件包列表**:在安装任何软件之前,始终建议首先更新软件包列表,以确保获取最新的软件包信息。在终端中运行以下命令: bash…...
文件管理系统的基本认识
1.文件的属性 文件的定义:一组有意义的信息的集合。 1.文件名: 由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件。 2.标识符: 一个系统内的各文件标识符唯一,对用户来说毫无可读性, 因此…...
Excel·VBA制作工资条
看到一篇博客《excel表头_Excel工资表怎么做?3分钟学会利用函数生成工资表》,使用排序功能、函数制作工资条。但如果需要经常制作工资条,显然使用VBA更加方便 VBA制作工资条 Sub 制作工资条()Dim title_row&, blank_row&, ws_new$,…...
【SA8295P 源码分析 (二)】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析
【SA8295P 源码分析】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析 一、HQX Display 介绍1.1 OpenWF Display Driver二、HQX Display 配置文件参数解析2.1 qcdisplaycfg.xml 配置文件2.1 配置两个 DPUs in QNX2.1.1 配置 graphics_ADP_STAR.conf : …...
git操作说明
SourceURL:file:///home/kingqi/桌面/git操作说明.doc 本地建立仓库 mkdir namebao cd namebao pwd git init 初始化 cd .git/ gedit config 本地存储 进入目录上传全部文件 git add . 提交 git commit -m “说明” 远程提交 复制gitee或者github仓库链接 可以直…...
数据结构——栈与队列
数据结构——栈与队列 文章目录 数据结构——栈与队列一、栈的定义二、队列的定义 一、栈的定义 栈(Stack)是一种具有特殊限制的线性数据结构,它只允许在表的一端进行插入和删除操作。这一端被称为栈顶(Top)ÿ…...
Redis入门到实战(四、原理篇)RESP协议
目录 2、Redis内存回收-过期key处理3、Redis内存回收-内存淘汰策略 Redis是一个CS架构的软件,通信一般分两步(不包括pipeline和PubSub): 客户端(client)向服务端(server)发送一条命令…...
c++屏蔽qq或者wechat的好友对局域网环境下的指定关键字
要使用C来屏蔽QQ或WeChat的好友对家庭网络或局域网环境下的指定关键字,你需要编写一个网络包过滤程序,该程序需要有能力拦截并分析网络流量,然后根据指定的规则(如关键字)来阻止或允许数据包的传输。然而,需…...
rviz中显示的点云与网格垂直,将保存的pcd文件转为点云在rviz中显示,并使用octomap_server将点云地图转化为八叉树地图和占据栅格地图
文章目录 问题:点云与网格垂直背景解决方法:对点云坐标做变换,绕x轴旋转90度,将z轴指向上方将pcd转成点云,在RVIZ中显示点云图创建launch rviz显示 问题:点云与网格垂直 用lego-loam建图时用rosbag录制相关…...
个人博客系统的总结
个人博客系统 1、项目背景: 个人博客系统的兴起和发展是与信息技术和互联网的迅猛发展密切相关的。随着互联网的普及和数字化时代的到来,越来越多的人开始使用互联网平台来表达自己的观点、分享知识和展示个人创作。个人博客系统作为一种在线的个人信息…...
小程序之实例会议OA的首页 (3)
⭐⭐ 小程序专栏:小程序开发专栏 ⭐⭐ 个人主页:个人主页 目录 编辑 一.前言 二.flex弹性布局 flex属性 2.1 display: flex 弹性布局属性 2.2 flex-direction属性 2.3 flex-wrap属性 2.4 flex-flow属性 2.5 justify-content属性 三.首页轮播…...
Gson 问题汇总
Gson 自定义TypeAdapter 使用Gsonspringboot中指定Gson为默认消息转换器自定义Gson实例解决方法设定日期类型的格式处理特殊格式数据解析serialVersionUID字段报错int类型,转换后变成了double类型 使用Gson gson是google推出的json解析框架,相较于其他json解析框架,它速度更快…...
css-水滴登录页
效果图: html <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><link type"text/css" rel"stylesheet" href"login.css" /></head><body><…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
篇章二 论坛系统——系统设计
目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
