1. 思路:对于不超过n的每个非负整数p(>=2),删去除1*p外所有倍数,处理完所有数后还剩下的就是素数。 2. 复杂度:内层循环次数是 ?n/i? - 1< n/i,O(nlogn) 3. tips:①素数定理 Π(x) ~ x/lnx, 即不超过x的素数个数与x/lnx比较接近 ...
分类:
其他好文 时间:
2019-07-24 22:26:07
阅读次数:
100
简单的时间复杂度分析 O(1), O(n), O(lgn), O(nlogn), O(n^2) 简单地说:大O描述的是算法的运行时间和输入数据之间的关系 为什么要用大O ,叫做O(n)? 忽略常数。实际时间T=c1*n+c2 T=2*n+2 O(n) T=2000*n+10000 O(n) 渐进时间 ...
分类:
编程语言 时间:
2019-07-19 23:48:29
阅读次数:
106
归并排序的时间复杂度任何情况下都是 O(nlogn),看起来非常优秀。(即便是快速排序,最坏情况下,时间复杂度也是 O(n2)。) 但是,归并排序并没有像快排那样,应用广泛,这是为什么呢?因为它有一个致命的“弱点”,那就是归并排序不是原地排序算法。 这是因为归并排序的合并函数,在合并两个有序数组为一 ...
分类:
编程语言 时间:
2019-07-14 19:39:52
阅读次数:
104
排序算法 大部分算法都是从 无序区 扩展到 有序区 一、算法概述 1. 冒泡排序 O(N2),空间O(1) 每一轮从无序区冒泡出一个最大的数到有序区 2. 选择排序O(N2),空间O(1) 每一轮从无序区选择一个最大的数到有序区 3. 堆排序O(NlogN),空间O(1) 其实就是 选择排序的改进 ...
分类:
编程语言 时间:
2019-07-14 12:56:49
阅读次数:
124
注意:以下所有说明均以帮助理解模板为目的,不保证正确性。 多项式求逆 已知$A(x)$,求满足$A(x)B(x)=1\ mod(\ x^n)$的B(以下为了方便假设n是2的幂) 考虑倍增,假设已经求出$A(x)B_0(x)=1\ mod(\ x^{n/2})$ $$A(x)(B(x)-B_0(x)) ...
分类:
其他好文 时间:
2019-07-10 11:01:59
阅读次数:
85
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6算法:归并。我们利用归并排序的思想对链表进行排序即可。故时间复杂度为O(nlogn),空间复杂度为O(n)。 ...
分类:
编程语言 时间:
2019-07-09 20:52:11
阅读次数:
120
https://nanti.jisuanke.com/t/A1108 way1: 应该很多同学的做法都是对于每次y,每次x,dijkstra+堆优化 n^2 * nlogn 其实log(300)很小。。。 way2: 题解方法真心优秀!!! cdq分治 有助于理解floyd:每次加入一个可以使用的点 ...
分类:
其他好文 时间:
2019-07-07 14:25:51
阅读次数:
81
调这个题调了两个月,被自己蠢哭 题意: 给一个有向图,一组关键点,求关键点之间的最短的距离 Solution: 这个题目有两种做法,分别是 $nlogn$ 和 $nlog^2n$ 的 首先说 $nlogn$ 的官方做法,我们考虑多源迪杰斯特拉 正图上从 k 个关键点出发跑 $dijkstra$ ,记 ...
分类:
其他好文 时间:
2019-07-05 12:30:22
阅读次数:
112
题意 一颗有根树,每个点有黑白两种颜色和阀值ai,若它的子树中(不包括自己)的黑色数量大于ai,则产生一点贡献。每次将一个点的颜色取反,求每次修改后的贡献。n,q<=1E5。 思考 树剖后直接分块就行了。复杂度约为O((n+q)sqrt(nlogn)),但似乎更小? 代码 1 #include<bi ...
分类:
其他好文 时间:
2019-07-05 09:13:30
阅读次数:
83
dsu,对于无修改子树查询,并且操作支持undo的问题 暴力dfs,对于每个节点,对所有轻儿子dfs下去,然后再消除轻儿子的影响 dfs重儿子,然后dfs暴力恢复轻儿子们的影响,再把当前节点影响算进去 就有了整棵子树的信息了,时间复杂度O(nlogn) 经典例题:http://codeforces. ...
分类:
其他好文 时间:
2019-06-24 12:28:39
阅读次数:
112