算法总结(AC自动机、CDQ分治、整体二分)——于诗涵

算法总结

一、AC自动机:

1.实现功能:多模式串匹配

2.相当于多个kmp。

3.匹配过程:先建字典树,然后连nxt指针,如果该节点和i存在联系,就把该节点的nxt指针连向该节点的父节点所指向的i,最后遍历文本串统计答案。

练习情况:3/10(练习较少)

总结:掌握不熟练,不是很会应用。

二、CDQ分治

1.实现功能:解决三维偏序问题

2.运用了结构体,归并排序,双指针和树状数组。

3.实现过程:第一维用sort处理,第二维用分治递归,把当前区间分为两部分,分别递归处理,然后用双指针把满足要求的数的第三维插入树状数组,最后统计数量。

4.特点:通过离线降低时间复杂度。

练习情况:5/12(也练习较少)

总结:比AC自动机学的好点

三、整体二分

1.实现功能:多组区间查询与修改问题

2.运用了二分答案的思想。

3.实现过程:二分答案,把答案的贡献插入树状数组里,然后把问题分为满足和不满足两个部分,递归处理,当vl==vr时记录答案。

4.特点:通过离线降低时间复杂度,把问题一起计算。

练习情况:3/10(正在继续做,这三个算法中学的最好的)

总结:很好理解,掌握和应用都还可以

目标:利用寒假时间把讲过的题都写出来。

posted @ 2025-12-28 00:03  yushihan  阅读(19)  评论(0)    收藏  举报