总结
文章平均质量分 80
BraketBN
这个作者很懒,什么都没留下…
展开
-
【总结】CDQ分治
总的来说,CDQ分治与普通分治不一样的地方在于,CDQ分治的对象是时间。即对于一个时间段[L, R],我们取mid = (L + R) / 2,(用数据结构题举例)分治的每层只考虑mid之前的修改对mid之后的查询的贡献,然后递归到[L,mid],(mid,R]。显然,CDQ分治是一种离线算法,我们需要将所有的修改/查询存下来,一起进行操作。同时,CDQ分治还需要满足:操作之间相互独立,即原创 2016-04-19 07:35:54 · 3530 阅读 · 0 评论 -
【总结】AC自动机
在应用中,AC自动机大多数是与DP结合起来用的,当然也有其他类型的应用。最经典的应用之一:给出一些串,这些串是“病毒串”,问有多少种长度为n且不包含病毒串(或者至少出现一次)的字符串。这类问题中,病毒串长度一般很小,总长度一般不超过50,而n却很大,一般在10^9以上。如果只有一个病毒串,那么我们只需要KMP就好了,比如【BZOJ1009: [HNOI200原创 2016-04-19 10:08:20 · 405 阅读 · 0 评论