二进制分组
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[2018雅礼集训1-16]背单词 AC自动机+二进制分组
题面 大概就是用栈维护logn\log n个AC自动机,每次新加入一个单词就新建一个AC自动机,当栈顶的自动机和栈顶下一个自动机包含单词个数相同的时候就暴力重构合并。 一个单词最多被合并log\log次,然后查询的时候也只会跑log\log个自动机,所以复杂度是O(nlog|t|+|s|logn)O(n\log |t|+|s|\log n)的。其实还带个2626的常数,不过跑得挺快的。。。原创 2018-01-17 22:41:19 · 604 阅读 · 0 评论 -
[联合集训6-9]Congroo 二进制分组+凸包上二分
查询叉积最大值就是找该向量切凸包上的切点。因为只有在末尾加入删除的操作,我们利用二进制分组,维护loglog\log个凸包,询问的时候在每个凸包上二分找切点即可。 要注意要分别对上下凸壳二分,因为凸包是一个环但二分其实是对一个序列二分,所以直接二分会挂。 程序里还有几个复杂度不对的地方: 1. 二进制分组应该有四个相同的才把前两个合并,而不是有两个相同就合并,否则每次加入/删除第2k2k2^...原创 2018-06-14 20:29:18 · 644 阅读 · 0 评论