云淡风轻
Stay foolish,stay hungry.
摘要: 1,给定一个n*n的格子或棋盘,问从左下角走到右上角的走法总数(每次只能向右或向上移动一个方格边长的距离)解答:我们可以把棋盘的左下角看做二维坐标的原点(0,0),把棋盘的右上角看做二维坐标(n,n)(坐标系的单位长度为小方格的变长) 用f(i,j)表示移动到坐标f(i,j)的走法总数,其中0=0f(i,j)=f(i,j-1) if i=0... 阅读全文
posted @ 2011-12-14 12:00 kevin Lee 阅读(1295) 评论(1) 推荐(0)
摘要: 给定一个整数数组,a[1],a[2],...,a[n],每一个元素a[i]可以和它右边的(a[i+1],a[i+2],...,a[n])元素做差,求这个数组中最大的差值,例如a={0,3,9,1,3,5}这个数组最大的差值就是9-1=8;解答:1)这个题目最直接的想法就是穷举,时间代价是O(n^2),即检查每个元素与其右边元素差值的最大值,伪代码如下:int solve_sub(int *a,in... 阅读全文
posted @ 2011-12-14 10:42 kevin Lee 阅读(3456) 评论(1) 推荐(1)
摘要: 24.2-4:给出一个高效算法来统计邮箱无回路图中的全部路径数。分析所给出的算法。24.3-6:设G=(V,E)为带权有向图,权函数W: E-> {0,1,....,W},其中W为某非负整数。修改Dijkstra算法,以使其计算从指定源点s的最短路径所需的运行时间为O(WV+E)24.3-7:修改24.3-6中的算法,使其运行时间为O((V+E)lgW)。(提示:在任意时刻,V-S中有多少不同的最... 阅读全文
posted @ 2011-12-13 12:11 kevin Lee 阅读(2029) 评论(0) 推荐(0)
摘要: 24.1-4,问题描述:对Bellman-Ford算法进行修改,对任意顶点v,当从源点到v的某些路径上存在一个负权回路,则置d[v]=负无穷。24.1-5,问题描述:设G=(V,E)为一带权有向图,其权函数w:E->R。请给出一个O(VE)时间的算法,对每个顶点v in V,找出所有u in V中到达v点的路径的最短路径的值。24.1-6 ,问题描述:假定一加权有向图G=(V,E)包含一负权回路。... 阅读全文
posted @ 2011-12-13 12:01 kevin Lee 阅读(1241) 评论(0) 推荐(0)
摘要: 结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。结构体内部成员的对齐要求,结构体本身的对齐要求。最重要的有三点 (一)成员对齐。对于结构体内部成员,通常会有这样的规定:各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。但是也可以看到,有时候某些字段如果严格按照大小紧密排列,根本无法达到这样的目的,因此有时候必须进行padding。各成员变... 阅读全文
posted @ 2011-12-12 15:53 kevin Lee 阅读(5998) 评论(1) 推荐(0)
摘要: 在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与原码的转换过程几乎是相同的。 数值的补码表示也分两种情况: (1)正数的补码:与原码相同。 例如,+9的补码是00001001。 (2)负数的补码:符号位为1,其余位为该数绝对值的原码按... 阅读全文
posted @ 2011-12-12 15:08 kevin Lee 阅读(5639) 评论(1) 推荐(1)
摘要: 设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重a[i]?a[i]:q; for(int p=0;p0;i--){ if(Q[n][i]){ count++; coutO(N*n)还可以把状态转移方程优化为:Q[i,j]=min{Q[i-1,j],Q[i,j-w[i]]+1}(如果砝码个数是无限个)上面这个转移方程实现起来就是O(N*n)的了,但空间是O(N*n)的,... 阅读全文
posted @ 2011-12-10 22:21 kevin Lee 阅读(2486) 评论(0) 推荐(0)
摘要: 给出一个算法,用它来确定一个给定的无向图G=(V,E)中是否包含一个回路。所给出的算法的运行时间为O(V),这一时间独立于|E|解答:我们都知道对于一个无向图而言,如果它能表示成一棵树,那么它一定没有回路,并且有|E|=|V|-1,如果在这个树上添加一条边,那么就构成了回路,如果在这个树中去掉一个边就成了森林(注意:如果只是限定|E||V|-1根据无向图的性质,那么这个无向图一定存在回路),所以O... 阅读全文
posted @ 2011-12-10 20:44 kevin Lee 阅读(2147) 评论(0) 推荐(0)
摘要: 在一个有向图G=(V,E)中,如果u->v蕴含着对所有顶点u、v属于V,至多有一条从u到v的简单路径,则称G是单连通的。给出一个有效算法来判断一个有向图是否是单连通的?解答:先判断是否是连通,再判断是否是单连通。未完待续~ 阅读全文
posted @ 2011-12-10 20:33 kevin Lee 阅读(1333) 评论(0) 推荐(0)
摘要: 设G=(V,E)是一个连通的无向图。请给出一个O(V+E)时间的算法,以计算图G的一条路径,对于E中的每一条边,该路径都恰好在每一个方向上遍历一次。如果你身处一个迷宫之中,说明如何才能找到出路? 阅读全文
posted @ 2011-12-09 16:14 kevin Lee 阅读(486) 评论(1) 推荐(0)