![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法总结
Apare_xzc
CCNU 2017级计科本科生
QQ: 1363581749 Apare
展开
-
筛素数,判素数,区间素数个数 Apare_xzc
筛素数,判素数,素数个数 筛素数,线性筛。每个和数被其最大的质因子筛掉,只筛一次,接近O(n) bool notPrime[N]; int sushu[700000],cnt; void getPrime() { cnt = 0; int n = N-1; for(int i=2;i<=n;++i) { if(!notPrime[i]) sushu[cnt++] = i; for(int j=0;j<cnt&&1ll*i*sushu[j]<=n;++j) {原创 2020-10-03 23:37:23 · 346 阅读 · 2 评论 -
KMP算法总结 Apare_xzc
KMP算法总结 2020.9.7 KMP算法是什么 KMP算法是由三位科学共同提出的单模(式串)匹配算法。可以再O(m+n)的时间内完成从文本串text匹配目标串pattern的过程。 KMP算法的核心是next数组。在匹配的过程中,文本串的指针Pi不回溯,模式串的指针Pj在匹配失败后回溯到next[Pj], 这样就大大减少了匹配的时间。 我们先求模式串pattern的next数组,然后通过next数组,去文本串中匹配。 一个例子: 模式串 pattern = abcabcabg,文本串 text =原创 2020-09-07 16:24:08 · 205 阅读 · 1 评论 -
[LCA入门]——看这一张图就够了 by Apare_xzc
LCA入门——看着一张图就够了 Apare_xzc 2020.1.30 LCA:最近公共祖先全称为Lowest Common Ancestors,求一棵树上两个结点最近的公共祖先 RMQ:可以区间查询最大或最小值,预处理ST表,可以O(1)查询 欧拉序:即为对树进行先序遍历,按顺序记录遍历中经过的所有结点(包括回溯时经过的) LCA的一些用途:求树上两点之间的最短距离… 我画了一上午的图: ...原创 2020-01-30 12:03:48 · 4002 阅读 · 0 评论 -
关于贪心算法的一些总结 Apare_xzc
关于贪心算法的一些总结 关于贪心算法: 来自百度百科的定义:贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 贪心算法的2个基本要...原创 2019-12-07 15:30:24 · 469 阅读 · 1 评论