迪杰斯特拉算法--O(nlogn) #include"iostream" #include"cstring" #include"cstdio" using namespace std; const int inf = 0x3f3f3f3f; typedef long long LL; int map ...
分类:
其他好文 时间:
2018-09-20 20:22:24
阅读次数:
176
Description "HDU5382" ~~会吗?不会!~~ 设$F(n)=\sum\limits_{i = 1}^{n}\sum\limits_{j=1}^{n}[lcm(i,j)+gcd(i,j)\ge n]$,求$S(n)=\sum\limits_{i=1}^{n}F(n)$ Soluit ...
分类:
其他好文 时间:
2018-09-20 11:25:45
阅读次数:
173
快速排序 上述的快速排序实现很好理解,就是每次遍历当前的arr,将比中间值小的放到left,大的放到right。这是前端通常的版本,但是这样的版本是有问题的。正常的我们说快排的时间复杂度平均和最好都是O(nlogn),最坏情况下是O(n^2),空间复杂度为O(nlogn)。这个代码中,空间复杂度为O ...
分类:
编程语言 时间:
2018-09-19 13:31:35
阅读次数:
154
给出的一些常见的数据结构与算法的笔试面试题,特整理如下,后期遇到新的再更新。 笔试面试题 常见时空复杂度有 常数级复杂度:O(1) 对数级复杂度:O(logN) 线性级复杂度:O(N) 线性对数级复杂度:O(NlogN) 平方级复杂度:O(N2) 冒泡排序算法(重点) (1)算法流程 a.比较两个相 ...
分类:
编程语言 时间:
2018-09-19 01:24:08
阅读次数:
197
题解: f[i]=f[n/(j+1)向上取整]+p*j+k 然后可以通过枚举每个数的因子来做 时间复杂度nlogn 可以有方法优化到n^3/4 ...
分类:
其他好文 时间:
2018-09-18 00:26:26
阅读次数:
145
单链表的特点是:单向。设头结点位head,则最后一个节点的next指向NULL。如果只知道头结点head,请问怎么将该链表排序? 设结点结构为 那么一般人见到这种题目,立马就会想到指针交换。是的,大家被指针交换的题目做多了,形成思维定势了。对于这道题,我们完全可以利用值交换来达到排序的目的。 当然, ...
分类:
编程语言 时间:
2018-09-18 00:15:42
阅读次数:
184
Mato的文件管理 bzoj-3289 题目大意:给定一个n个数的序列。m次询问:一段区间中的逆序对个数。 注释:$1\le n\,mle 5\cdot 10^4$。 想法: 开始想这个题的大佬们,给您点儿提示吧:$O(nlogn\sqrt(n))$可过哦! 所以这个题就是莫队的裸题了。 我们的莫队 ...
分类:
编程语言 时间:
2018-09-17 15:26:05
阅读次数:
158
首先我们需要注意一下的是,差分比较适用于修改比较多而查询比较少的情况。 一、序列上差分 借教室 这是一道二分答案,在check函数中用到差分技巧的一道题,譬如说我们要把一个序列中[l,r]区间都加上一个权值,我们可以把在 l 处加上这个值,在r+1处减去这个值,再对记录权值的数组求前缀和,那么我们就 ...
分类:
其他好文 时间:
2018-09-16 15:22:08
阅读次数:
200
#include #include //排序算法的稳定性:对于相同的关键字,排序之前的位置和排序之后的位置相同,则称为稳定排序,否则不稳定排序。 //归并排序:基本思想为:先分解再合并,在合并的过程中进行排序; //稳定排序;平均时间复杂度为:O(nlogn); 最好时间复杂度O(nlogn);最好... ...
分类:
编程语言 时间:
2018-09-15 23:20:07
阅读次数:
214
在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关 ...
分类:
其他好文 时间:
2018-09-15 15:17:29
阅读次数:
152