首页 > 其他 > 详细

floj 2265 【lxs Contest #141】航海舰队

时间:2020-01-11 17:52:01      阅读:73      评论:0      收藏:0      [点我收藏+]
首先抠出包围了阵形的最小矩形。
将地图拉伸成一条链,即将第一行、第二行、第三行按顺序连接。阵形也可以用同样的方法处理。
那么问题转化为,给定两个 01 串 S 和 T,问每个 S 中长度为 |T| 的子串是否存在
一个点,两个串对应字符都是 1。
将 T 串翻转,那么就变成了卷积的形式,FFT 计算即可。
在 BFS 求出所有可行的位置之后,对于答案的计算,也是卷积的形式,用 FFT 加速即可。
时间复杂度 O(nm log(nm))

floj 2265 【lxs Contest #141】航海舰队

原文:https://www.cnblogs.com/betablewaloot/p/12180400.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!