对一个算法的分析,很多时候我们更关心算法运行的时间复杂度。算法的时间复杂度中,我们关心算法运行的时间上界。即大O阶分析方法。
时间复杂度的分类:
1、没有循环递归的基本都是常数阶。
2、有一层循环的就是线性阶。
for(int i=0;i
//dosth
}
3、对数阶:一般类似如下:
while(i
i=i*2;
}
会循环log2N次。所以是对数阶。
4、平方阶...
分类:
编程语言 时间:
2014-10-22 22:07:40
阅读次数:
251
题目大意:给出一个岛的海岸线的轮廓,求这个岛上的所有点到海岸的最长距离是多少。
思路:求多边形内切圆的问题要用二分+半平面交解决。二分半径的长度,然后将所有的边向左侧移动这个二分的长度,然后利用半平面交来判断是否能够满足条件。如果满足条件就提高下界,否则减小上界。
我的移动的方法是这样的,首先每条边都要用点向量式来表示,就是边上任意一点和这条边的方向向量。这样做以后的操作会方便很多。然...
分类:
其他好文 时间:
2014-10-21 13:52:52
阅读次数:
139
1、程序的性能
程序的性能由时间复杂度和空间复杂度决定。
1.1空间复杂度
程序所需要的空间主要由以下部分构成:
? 指令空间。存储经过编译之后的程序指令。指令有操作数和操作码构成。
? 数据空间。存储所有常量和所有变量值所需的空间。
? 环境栈空间。保存函数调用返回时恢复运行所需要的信
息。
(1)指令空间
程序所需指令空间的大小取决于如下因素:
...
分类:
编程语言 时间:
2014-10-21 10:22:07
阅读次数:
252
Inspection
题目:
题目还是比较裸的没有上界只有下界的网络最小流问题。输出路劲太烦人了。!不想写了。给出别人的代码。
算法分析:
网络最小流一般用二分查找判断就好了。要注意的就是在最后输出路径的时候要在调用一次最大流。因为,之前结束的流量不一定是最后答案的流量。
#include
#include
#include
#include
using...
分类:
其他好文 时间:
2014-10-20 17:26:02
阅读次数:
209
Matrix Decompressing
题目:
给出一个矩阵的前i行,前j列的和。要求你求出满足的矩阵。矩阵的数范围在[1,20]。
一开始就坑在了这里。没读仔细题目。囧。。。
其实这题的模型就是一个网络流的行列模型,跟poj的那题budge一样建图。不过Poj 的那个建图输入麻烦,而这题是裸的,因为已经告诉你了下界为1,上界为20,囧。。。而且poj那题我至今也不知...
分类:
其他好文 时间:
2014-10-20 15:10:36
阅读次数:
200
求一个生成树,使得最大边权和最小边权之差最小。由于数据太小,暴力枚举下界,求出相应的上界。最后取min即可。 1 #include 2 #include 3 #include 4 using namespace std; 5 int n,m,fa[101],rank[101]; 6 void cle...
分类:
其他好文 时间:
2014-10-11 17:29:55
阅读次数:
146
渐近符号Θ记号Θ(g(n))={f(n):存在正常量c1,c2和n0,使得对所有n>=n0,都有0=n0,有0<=f(n)<=cg(n)}重点:1.Θ记号渐近地给出了函数的上限和下限。当只有一个渐近上界时,使用O记号2.按照集合论的写法,Θ(g(n))是O(g(n))的子集3.当我们说运行时间为O(...
分类:
其他好文 时间:
2014-10-09 15:46:14
阅读次数:
158
题目链接:Codeforces 474B Worms
题意:给出一串数字比如2 7 3 4 9。
表示第一堆编号是[1,2].第二堆编号是[3,9].第三堆编号是[10,12].第四堆编号是[13,16].第五堆编号是[17,25].
预处理出每堆的上界二分查找答案。
AC代码:
#include
#include
#include
int a[100100];
int b[10...
分类:
其他好文 时间:
2014-10-07 15:13:53
阅读次数:
492
题意:给你一个序列a[i],对于每个询问xi,求出有多少个(l,r)对使得gcd(al,al+1...ar)=xi.表面上是询问,其实只要处理出每个可能的gcd有多少个就好了,当左端点固定的时候,随着右端点的移动,gcd必然是单调非增的,而且个数不会超过log(a[i])个,所以总的不同的个数的上界...
分类:
其他好文 时间:
2014-10-06 23:55:32
阅读次数:
309
解决上下界网络流的一般思路: 解决这类问题的关键是如何去掉下界带来的麻烦。下面的哈工大出版的《图论及应用》里的思路。1、网络的必要弧和构建附加网络前一个数是下界,后一个数是上界。下面的边是必要弧,其权值为下界。上面的边容量为上界与下界的差。添加附加源点Y,附加汇点X(别弄错了),为的权值正无穷。对....
分类:
其他好文 时间:
2014-10-01 02:07:43
阅读次数:
362