[JOI 2022 Final] 沙堡 2 (Sandcastle 2)

考虑一个位置

在被足够大的子矩形框柱之后

他的朝向是固定的(即一定固定指向一个格子)

不妨将这个指向 看成格子之间的连边


考虑到一个子矩阵 存在一条曼哈顿路径 ,当且仅当 只有一个格子满足入度为0

那么就有个想法--------快速维护子矩阵内 是否有一个格子的入读为0


考虑对于一个子矩阵

贴着边界的格子,以及靠近边界的格子, 距离边界的距离 >= 2的格子 这三种情况的格子的入度的计算是不一样的

贴着边界的格子,以及靠近边界的格子,他们的入度 需要预处理快速得到

并且对于 距离边界的距离 >= 2的格子 也预处理一下

所以需要预处理出 16种情况的(上下左右是否贴着边界)

然后就好做了

考虑一个一般化的子矩阵

只用分25种矩形的前缀和做做就好了

会做nmnm的话,对于全部的数据,要做完并不难吧

posted @   After_rain  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示