快速排序(英语:Quicksort),又称划分交换排序(partition exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要O(nLogn)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序O(nLogn)通常明 ...
分类:
编程语言 时间:
2019-01-09 17:28:28
阅读次数:
196
快速排序,又称划分交换排序,从无序队列中挑取一个元素,把无序队列分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序的最优时间复杂度为O(nlogn),递归的时间复杂度 ...
分类:
编程语言 时间:
2019-01-06 18:53:37
阅读次数:
175
并查集好啊! 虽然并查集很好,但是我对它的掌握却十分肤浅。 搬运算导 1.单用路径压缩复杂度$O(n+m (1+log_{2+m/n}n))$ 证明是不可能有的。 2.单用按秩合并并且记忆化复杂度$O(nlogn+m)$ 由于路径压缩也是一种记忆化,所以混合策略也有该上界。 复杂度显然。 3.假设所 ...
分类:
其他好文 时间:
2019-01-03 20:40:36
阅读次数:
186
leetcode schedule: 3 be done ,3 better than 99% 1. "sum" my code 思路:先对所给序列进行排序,然后依次对小于target/2的数a,在有序序列中用二分查找找(target a) 复杂度 排序调用标准库的sort,O(nlogn) 二分查 ...
分类:
其他好文 时间:
2019-01-02 19:18:33
阅读次数:
217
求 $$Ans=\prod_{i=1}^N\prod_{j=1}^MFib[(i,j)]$$ 连乘的反演,其实并没有什么不一样 我们把套路柿子拿出来 $$F(n)=\sum_{i=1}^N\sum_{j=1}^M[n|(i,j)]=\left \lfloor \frac{N}{n} \right \ ...
分类:
其他好文 时间:
2019-01-01 19:57:43
阅读次数:
177
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3545 [算法] 离线加边 , 用并查集维护连通性 , 然后线段树合并即可 时间复杂度 : O(NlogN) [代码] ...
分类:
其他好文 时间:
2018-12-31 22:40:33
阅读次数:
276
因为是unrated于是就叫划水记了,而且本场也就用了1h左右。 A、B:划水去了,没做 C:大水题,根据初三课本中圆的知识,可以把角度化成弧长,而这是正多边形,所以又可以化成边数,于是假设读入为a,就是周长的a/180,gcd一下就行了,注意如果a/b这个分数满足a+1=b,那么就要ans*=2 ...
分类:
其他好文 时间:
2018-12-30 02:37:30
阅读次数:
212
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5909 点分治的话,每次要做一次树形DP;但时间应该是 siz*m2 的。可以用 FWT 变成 siz*mlogm ,但这里写的是把树变成序列来 DP 的方法,应该是 nlogn*m 的。 树上的一个点,如果 ...
分类:
其他好文 时间:
2018-12-27 10:29:27
阅读次数:
146
解题思路 $dsu$ $on$ $tree$的模板题。暴力而优雅的算法,轻儿子的信息暴力清空,重儿子的信息保留,时间复杂度$O(nlogn)$ 代码 cpp include include include include include include using namespace std; co ...
分类:
其他好文 时间:
2018-12-27 10:27:45
阅读次数:
115
# 快速排序# 时间复杂度:O(NlogN) 当n等于16层时,他一共要执行四次func() 每一个func就是O(n) 所以就是 N * logN# 最差的时间复杂度也就是O(n^2) 当然这种情况出现的几率不大# 找一个基准数,暂且为左边第一个,用变量存起来,此时基准数的位置是空的# 然后从右边... ...
分类:
编程语言 时间:
2018-12-26 00:26:45
阅读次数:
256