AT_abc337_d 的题解
AT_abc337_d 的题解
题目大意
给你一个 \(H \times W(H \times W \leq 2 \times 10^5)\) 的矩阵,矩阵由 o
、x
和 .
构成。存在一种操作:将一个 .
变成 o
。问在一段连续的区间内,需要进行多少次操作才可以将同一行或同一列中的连续 \(k\) 个数都变为 o
,若无法完成,输出 -1
。
思考过程
看到了可爱的 \(H \times W \leq 2 \times 10^5\),就知道这里必须使用复杂度为 \(O(HW)\) 的算法了。
考虑枚举每一列和每一行中的 \(k\) 个点是否能满足要求,并更新 ans
,由于是连续 \(k\) 个点,我们需要使用一个类似队列的东西来维护,维护当前的列或者行中的连续 \(k\) 个点中有多少个 .
和多少个 x
,有多少个 .
就是当前的最优答案,如果当前 \(k\) 个字符中有 x
,就证明当前 \(k\) 个字符不符合题意。
Code
代码中也有详细解释,但不要直接复制。
__EOF__

本文作者:mgcjade
本文链接:https://www.cnblogs.com/mgcjade/p/17978024.html
关于博主:蒟蒻一枚,I AK IOI!(不可能的)
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/mgcjade/p/17978024.html
关于博主:蒟蒻一枚,I AK IOI!(不可能的)
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】