1. 数值表达式 算术运算符包括+(加法)、-(减法)、*(乘法)、/(除法)和**(乘方)等2. 字符表达式 字符表达式由字符型常数、变量、函数和字符运算符组成,唯一可以使用的字符运算符就是连接运算符“||”。3. 关系表达式 关系表达式由字符表达式或数值表达式与关系运算符组成,可以使用的关...
分类:
数据库 时间:
2015-03-28 14:17:37
阅读次数:
156
RMQ问题
范围最小值问题(Range Minimum Query)是指:给定一个n个元素的数组A[1],A[2]...A[n]。设计一个数据结构,支持查询操作Query(L,R):计算min{A[L],A[L+1]...A[R]}。
该问题在实践中常用Tarjan的Sparse-Table算法。它的预处理时间是O(N*logN),但查询只需要O(1),而且常数非常小。最重要的是,这个算法非常...
分类:
其他好文 时间:
2015-03-19 22:14:17
阅读次数:
140
tcflush函数刷清(扔掉)输入缓存(终端驱动法度已接管到,但用户法度尚未读)或输出缓存(用户法度已经写,但尚未发送).int tcflush(int filedes,int quene)quene数该当是下列三个常数之一: *TCIFLUSH 刷清输入队列 *TCOFLUSH 刷清输出队列 *T...
分类:
其他好文 时间:
2015-03-19 19:55:50
阅读次数:
124
散列表的实现常常叫做散列。散列是一种用以常数平均时间执行插入,删除,和查找的技术。但是那些需要元素信息排序的树操作不会得到支持。因此例如findMax,findMin以及排序后遍历这些操作都是散列不支持的。
如果当一个元素被插入时与已经插入的元素散列(比如散列表的数组序号,很多元素插入到同一个数组序号中),那么就会产生一个冲突,这个冲突需要消除。解决冲突的办法有两种:
1 分离链接法...
分类:
其他好文 时间:
2015-03-19 14:55:07
阅读次数:
227
【练习3.12】a.编写一个非递归过程以O(N)时间反转单链表。b.使用常数附加空间编写一个过程以O(N)时间反转单链表。
分类:
其他好文 时间:
2015-03-18 15:28:02
阅读次数:
111
问题如题目,首先分析,链表的反转的空间复杂度如果为常数级,那么不可能完成从堆中申请数据来完成链表的反转工作,所以问题就转化为了如何将原链表修改/拆解为逆置的链表:函数形式假定如下 voidInverse(List*&head)//////修改原链表为逆置第一种办法最简单,就是在创建一个局部变量 Li...
分类:
其他好文 时间:
2015-03-16 23:00:40
阅读次数:
191
时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(...
分类:
编程语言 时间:
2015-03-16 15:51:51
阅读次数:
230
度量时间差 时钟中断由定时硬件以周期性的间隔产生,这个间隔由内核根据HZ值设定,HZ是一个与体系结构有关的常数,定义在<linux/param.h>或者该文件包含的某个子平台相关的文件中。 可以通过修改HZ值来改变系统时钟中断发生的频率,但必须重新编译内核以及所有模块。 每..
分类:
其他好文 时间:
2015-03-16 06:28:28
阅读次数:
209
题目链接:点击打开链接
题意:
给定n个点m条有向边 常数c
下面m行给出边。
修改最少的边的边权使得1->n的最短路长度恰好为c(输入保证1->n存在最短路且最短路权值>c)
思路:
因为是DAG,而且c不大,所以应该是DAG上的dp,反向建边然后bfs出去。
dp[i][j]表示点i距离终点距离恰好为j时最少需要修改的边数。
初始状态为dp[n][0] = 0, 其他为inf。...
分类:
其他好文 时间:
2015-03-15 19:54:14
阅读次数:
176
题目大意:维护一棵树,支持查询两点间路径最大值,以及修改某边的权值。裸的树链剖分+线段树。。不多说这题卡常数卡的厉害啊!vector完全过不了然后。。我就写了我一点都不熟悉的普通邻接表。虽然代码丑,虽然依然很慢,虽然有点长,但是它至少A了。。 1 #include 2 #include 3 #...
分类:
其他好文 时间:
2015-03-13 18:36:53
阅读次数:
233