国庆题目

news/2024/12/21 20:38:31/文章来源:https://www.cnblogs.com/Nefertariqwq/p/18447149

Maximize the Largest Component (Hard Version)

  • 题意:

给定一个 \(n\times m\) 的网格,由“.”和“#”字符组成。

如果从该组中的任何单元格开始,通过仅移动到该组中共享一个共同边的另一个单元格,就可以到达该组中的任何其他单元格,则一组“#”单元格形成一个连通分量。其大小为该组中的单元格数量。

在一次操作中,选择任意\(r\) 和任意\(c\),然后将行 \(r\)和列 \(c\) 中的每个单元格设置为 "#"。

问在最多执行一次操作后,可以实现的“#”个单元格的最大连通分量的最大可能大小。

ps:保证所有测试用例中的 $ n \cdot m $ 的总和不超过 $ 10^6 $。

  • 思路:

我们考虑到执行操作不会使答案更劣,所以我们一定会执行这次操作。

考虑到 \(n\times m\leq 10^6\),那么我们可以暴力枚举选择哪行哪列。

考虑到如果在枚举内部统计答案不好做,哥们考虑预处理答案,那么可以单点算贡献。

我们看下一个点会在选哪行哪列时产生贡献。

显然如果该点在原本的图上最左边可到达 \(l1\),最右可到达 \(r1\),最上可到达 \(l2\),最下 \(r2\) 的话,那么哥们会发现,只要我们选的行在 \([l2-1,r2+1]\) 的区间内或所选的列在 \([l1-1,r1+1]\) 的区间内,都可以产生贡献。

那么我们将我们的选择也抽象成一个矩阵,第 \(i\)\(j\) 列记录的就是我们选第 \(i\) 行第 \(j\) 列的答案。

然后就变成一个套路的矩阵中一块的加减法,直接弄一个矩阵差分即可转为 \(O(1)\) 处理,最后再转回来即可,记得特殊处理你选的那行和那列的答案。

时间复杂度 \(O(nm)\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/808029.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帝国CMS7.2/7.5移动端/手机端/多终端访问设置图文教程

​随着PC互联网与移动互联网的不断融合、以及各类移动访问终端增加,网站移动互联越来越重要了,所以帝国CMS7.2/7.5版本在原来版本的多访问终端功能基础上,做出更多的改进,让网站多种移动访问端制作更加方便。下面我们来讲解帝国CMS7.2版本的“多终端访问功能”使用:新增网…

这可能是最全的输入法教程了

这个教程能让你打字速度更快,体验更好输入法是我们离不开的软件,如果要评选用户最常使用的工具类应用,输入法一定名列前茅。 由于输入法实在太常用了,我们往往会忽略它:我用自带的输入法就行,打几个字,用的着琢磨吗? 实则不然,输入法软件有很多,也有很多进阶用法,这…

【极客大挑战2023】- Re -点击就送的逆向题 WriteUp

这道题给了一个.s文件 解决方案有两个: 1.利用gcc编译成可执行文件,然后反编译生成伪代码 2.直接分析汇编(我不会。。。) 1.利用gcc编译成可执行文件 linux执行gcc -o 1.s 1 IDA打开,分析并编写,注意一定要在字符串末尾加上\0结束符!!!点击查看代码 #include <stdi…

day11[Lagent 自定义你的 Agent 智能体]

环境配置 开发机选择 30% A100,镜像选择为 Cuda12.2-conda。 首先来为 Lagent 配置一个可用的环境。Lagent Web Demo 使用 使用 Lagent 的 Web Demo 来体验 InternLM2.5-7B-Chat 的智能体能力 先使用 LMDeploy 部署 InternLM2.5-7B-Chat,并启动一个 API Server然后,我们在另…

补题报告4

背景 CSP-J模拟赛 考得最好的一次得分 \(T1\): \(AC\) \(T2\): \(AC\) \(T3\): \(0\) \(T4\): \(20\)\(T1\) 三个 (\(Three\)) 赛时\(AC\) 概述 \(A,B,C\)三种微生物,他们会繁殖,在每分钟: 每个 \(A\) 可繁殖出一个\(A\),一个\(B\),一个\(C\) 每个 \(B\) 可繁殖出两个\(A\…

9-贪心算法

参考:代码随想录 题目分类大纲如下:贪心算法理论基础 什么是贪心? 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 贪心的套路(什么时候用贪心) 贪心算法并没有固定的套路,说白了就是常识性推导加上举反例。靠自己手动模拟,如果模拟可行,就可以试一试贪心策略…

【VMware VCF】使用 SoS 实用程序检查 VCF 环境的运行状态以及收集组件的日志信息。

VMware Cloud Foundation 解决方案中有一个叫 Supportability and Serviceability(SoS)可支持性和可维护性的实用程序,可能你在初始构建 VCF 管理域的时候使用过这个工具,当时使用这个工具在 VMware Cloud Builder 虚拟机中将用于部署的 VCF 管理域的 Excel 参数表转换为 J…

PbootCMS数据库配置,修改为Mysql数据库,配置Mysql出错解决办法

如果你在将PbootCMS从SQLite切换到MySQL时遇到了连接问题,可以按照以下步骤进行排查和解决: 步骤 1: 修改数据库连接驱动类型 确保你正确地修改了数据库连接驱动类型。PbootCMS支持多种数据库驱动,你可以逐一尝试不同的驱动类型。 步骤 2: 修改数据库服务器地址 将数据库服务…

pbootcms模板后台编辑器无法上传图片提示:后端配置项没有正常加载,上传插件不能正常使用!

针对 PbootCMS 中 UEditor 编辑器单图片上传按钮无反应以及多图片上传提示“后台配置项返回格式出错,上传功能将不能正常使用!”的问题,可以按照以下步骤进行排查和修复。 1. 修改时区设置 首先,根据你提供的信息,时区设置可能存在问题。请按照以下步骤修改时区设置:打开…

第八届2024御网杯WP

WEBinput_data使用工具https://github.com/kost/dvcs-ripper./rip-svn.pl -u http://101.200.58.4:10005/.svn下载下来.svn目录然后查看结构发现几个文件cd进去目录,然后cat 文件名字即可看到 flag{5674938f-803d-4c41-8f84-a77f5164bb4f}Flag: flag{5674938f-803d-4c41-8f84…

给PbootCMS增加换行标签br=1

在 PbootCMS 中,如果你需要在前端显示一个包含换行符的简介字段,并且希望这些换行符能够正确显示为 HTML 中的换行,可以通过自定义解析器来实现这一功能。以下是详细的步骤: 步骤 1: 修改 ParserController.php 文件打开文件: 打开 \apps\home\controller\ParserControlle…

pbootcms如何显示按文章内容搜索,而不是搜索标题

在 PbootCMS 中,默认情况下搜索功能通常是基于文章标题进行的。如果你想让搜索功能基于文章内容进行,可以通过以下步骤实现: 步骤 1: 修改搜索表单 在搜索表单中添加一个隐藏字段 field,并将它的值设为 content。这样可以让系统知道搜索时应该针对文章内容进行匹配。 修改后…