有一个字符串首尾相连(m个字符),有n种字符组成,求一段能使包含n种字符的子串,并使长短最短,时间复杂度要求O(n),空间复杂度O(1)#include int foo(const char* str, int m, int n){ int hit[256], count = 0, begin...
分类:
其他好文 时间:
2014-07-03 20:28:46
阅读次数:
312
原帖 自增树如s5_or所说,是一种思想像Splay的数据结构,每个节点维护一个堆权值,每当询问一个节点时,堆权值++,并返回时维护堆权值为堆的性质。这个树从旋转次数上比Splay小是肯定的,因为Splay旋转次数是logn次,但是这个树不一定,空间复杂度是O(n),接下来分析时间复杂度。 ...
分类:
其他好文 时间:
2014-07-03 20:15:24
阅读次数:
170
由斐波拉契数列的公式:f(n)=f(n-1)+f(n-2),如果使用递归方法,非常的简短易懂,但是重复计算太多,时间复杂度成指数形势增长。由矩阵乘法可以得到:又于是有剩下的就是计算矩阵的过程了。
分类:
其他好文 时间:
2014-07-03 06:09:18
阅读次数:
183
如,abcde左移3位为deabc要求时间复杂度O(n),空间复杂度O(1),每一个字符只能遍历一次摘自http://blog.csdn.net/geniusluzh/article/details/8460031利用数学解决该问题 其实对于这道题,最初一看的想法就是将当前位依次替换左移m位对应的....
分类:
其他好文 时间:
2014-07-02 21:26:41
阅读次数:
352
在这里我只放我的模板和一些我个人的“理解”。。最大流测试题:usaco草地排水EK:时间复杂度:O(VE^2)代码复杂度:最易代码:#include #include #include using namespace std;#define CLR(a) memset(a, 0, sizeof(a)...
分类:
其他好文 时间:
2014-07-02 20:54:22
阅读次数:
276
【题目】
Sort a linked list in O(n log n) time using constant space complexity.
【题意】
排序一个链表,要求时间复杂度O(nlogn),使用常量空间
【思路】
nlogn的复杂度,用归并排序求解...
分类:
其他好文 时间:
2014-07-02 09:25:40
阅读次数:
252
实现浮点类型的幂运算,函数原型为:
double pow(double x, int n)
在求解这个问题的时候是一个很挣扎的过程,因为它不是报错而是一直提示你超出时间,那么必须一次次的考虑怎样降低时间复杂度。
首先最直接的思路是下面这样的,就跟直观的数学求解一样。
double pow(double x, int n)
{
if(n==0)
return 1.0;
...
分类:
其他好文 时间:
2014-07-02 09:21:49
阅读次数:
179
现给定一个已知的字符串str[],现在想要在O(n)的时间复杂度之内求出一个最长的回文子字符串(正着和倒着顺序读一致)。Manacher最早发现了可以用O(n)的时间复杂度来解决该问题,所以这种方法称之为Manacher算法。#include using namespace std;int min(...
分类:
其他好文 时间:
2014-07-01 13:11:29
阅读次数:
245
首先简单谈下快速排序的特点,时间复杂度O(nLog n),最差时间复杂度O(n^2).是一种不稳定的排序方法。基本思想是分治法,这位大大的http://blog.csdn.net/morewindows/article/details/6684558 讲的非常清楚了,分治法+挖坑法,我就不多说了。就是以某个数为参照,使得左边的都小于他,右边的数都大于他。然后对他的左右两个区间采取同样的方法进行递归...
分类:
其他好文 时间:
2014-07-01 11:07:47
阅读次数:
254
从题目看,首先不是全部是若干。排序算法很多,我个人的能力也有限,不可能都讲到。另外,是简单汇总,是希望能用最简单的代码,最简短的语言说明问题,不搞太多理论分析。就像前面说的,排序算法有很多,而且不存在哪一种最不好,哪一种最好这样的说法。根据用途不同选择最适合的就行了。不过仅从时间复杂度来看,基本上有两种,一种是O(n^2), 一种是O(nlogn)。...
分类:
其他好文 时间:
2014-06-30 20:01:09
阅读次数:
191