02 2021 档案

摘要:class Trie { public: /** Initialize your data structure here. */ Trie() { memset(son, 0, sizeof(son)); memset(count, 0, sizeof(count)); idx = 0; } /** 阅读全文
posted @ 2021-02-14 20:39 zju_cxl 阅读(42) 评论(0) 推荐(0) 编辑
摘要:什么是单调栈? 顾名思义,单调栈就是一个栈,栈中的单调的,单调栈也分为单调递增栈和单调递减栈,实质上就是把一些冗余的状态去除了。 单调递增栈:单调递增栈就是从栈底到栈顶数据是从大到小单调递减栈:单调递减栈就是从栈底到栈顶数据是从小到大 单调栈的使用场景 一般为找离某元素最近的最大(最小)的数 例题: 阅读全文
posted @ 2021-02-14 13:07 zju_cxl 阅读(50) 评论(0) 推荐(0) 编辑
摘要:kmp算法简介 KMP算法一种改进的模式匹配算法,是D.E.Knuth、V.R.Pratt、J.H.Morris于1977年联合发表,KMP算法又称克努特-莫里斯-普拉特操作。它的改进在于:每当从某个起始位置开始一趟比较后,在匹配过程中出现失配,不回溯i,而是利用已经得到的部分匹配结果,将一种假想的 阅读全文
posted @ 2021-02-14 12:58 zju_cxl 阅读(59) 评论(0) 推荐(0) 编辑
摘要:归并排序的思想: 确定分界点 mid=(l+r)/ 2递归排序left、right归并,合二为一 其中第三步归并的思想类似于两个有序列表合并。 归并排序时间复杂度为nlogn,且是稳定的,需要借助额外辅助空间。 #include <iostream> using namespace std; con 阅读全文
posted @ 2021-02-02 23:00 zju_cxl 阅读(64) 评论(0) 推荐(0) 编辑
摘要:快排的本质是分治。 快排的一般思路: 选择一个标准点x使数组左边的都比x小,右边的都比x大递归处理左右数组 给出一个优美的快排模版: #include <iostream> using namespace std; const int maxn = 1e5+7; int a[maxn]; void 阅读全文
posted @ 2021-02-02 22:10 zju_cxl 阅读(72) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示