CF1472F 题解
1|0前言
只要题目给了图,你就要画图。
2|0思路
首先,我们要明确一点:一个矩形,如果里面不存在任何被覆盖的方格,那么这个矩形是绝对可以被覆盖的。
如果现在有一个点被覆盖了。
那么必定要有一个长方形从这个点下方往后。
然后继续在上方接长方形继续往后。
直到出现了一个新节点被覆盖。
假设在新节点的上一个点之前,都是可以被完全覆盖的。
2|1如果在同一行。
- 两个点之间的距离为偶数,那么这之间肯定可以被盖住。然后继续往后找。
- 如果为奇数,稍加思考,可以证明这一段是不能被完全盖住的,直接跳出,无解。
2|2接下来考虑不在同一行。
- 两个点之间的距离为奇数,那么这之间一定可以被完全盖住。
-
两个点之间的距离为偶数,思考一下,能证明不能被完全盖住,跳出,无解。
-
两个点在同一列,如果前面还有点未找到对应点,也无解。
如果前面不能被完全盖住,那么会提前跳出,所以如果能到这里,那么前面一定合法。
最后,如果上一个点之后没有找到对应的下一个点,也无解。
在代码实现中,注意我们要将点排序。接着用一个变量记录前面是否还有未处理完的点,有则判断当前点与之前点是否合法,没有就把变量赋为 1,继续考虑下一个。
3|0AC CODE
__EOF__

本文作者:xdh2012
本文链接:https://www.cnblogs.com/xdh2012/p/17993482.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/xdh2012/p/17993482.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)