摘要: KMP算法 介绍 用处:用于串的模式匹配,即找出模式串在主串中的出现位置 朴素想法,直接遍历两个串,失配回到主串开始比较位置的下一位继续匹配,复杂度$O(nm)$ KMP算法即在$O(n+m)$复杂度内匹配的算法 算法实现 通过一个叫$next$数组的东西,使指向主串的$i$指针不回溯,只改变指向模 阅读全文
posted @ 2019-04-10 15:43 Artoriax 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 引入 权值树状数组就是数组下标是数值的数组,数组存储下标对应的值有几个数 题目 HDU 2852 KiKi's K Number 题意 几种操作,p=0代表push:将数值为a的数压入盒子 p=1代表pop,代表删除数值为e的数,如果没有这个数,输出No Elment! p=2代表query,查询比 阅读全文
posted @ 2019-04-10 15:09 Artoriax 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 引入 树状数组用于求区间和,其修改和查询的复杂度都是$O(logn)$,非常好写,比较小巧。 几种基础用法,关于权值树状数组在另一篇博客。 单点修改,区间查询 区间和 HDU 1166 敌兵布阵 模版: c++ include define N 50005 using namespace std; 阅读全文
posted @ 2019-04-10 14:56 Artoriax 阅读(199) 评论(0) 推荐(0) 编辑