&&资料学习&&
键盘上的舞者
这个作者很懒,什么都没留下…
展开
-
线段树
1.概述 线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,它基本能保证每个操作的复杂度为O(lgN)。2.线段树基本操作 线段树的基本操作主要包括构造线段树,区间查询和区间修改.3.线段树的相关操作代码(1) 线段树构造首先介绍构造线段树的方法:让根节点表示区间[0,N-转载 2013-01-20 15:38:32 · 1010 阅读 · 0 评论 -
【总结】字符串匹配: KMP 和 拓展KMP
比起ac自动机,kmp就一个next数组,理解了如何初始化next后就可以搞一些模板题了,下面是还不错的学习资料,清晰易懂,自己用的模板也来自它: http://chaoswork.com/blog/2011/06/14/kmp%E7%AE%97%E6%B3%95%E5%B0%8F%E7%BB%93/kmp模板next[0]=-1;j=-1;for(i=0;im;){转载 2013-01-13 16:28:26 · 1225 阅读 · 0 评论 -
最常用标准库函数
最常用标准库函数标准头文件包括: 标准定义()文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来。这个文件里定义: 类型size_t(sizeof运算符的结果类型,是某个无符号整转载 2013-01-10 21:38:20 · 3379 阅读 · 0 评论 -
线段树
HH神的线段树出神入化,所以跟着HH学习线段树。风格:maxn是题目给的最大区间,而节点数要开4倍,确切的说……lson和rson辨别表示结点的左孩子和右孩子。PushUp(int rt)是把当前结点的信息更新到父节点PushDown(int rt)是把当前结点的信息更新给孩子结点。rt表示当前子树的根(root),也就是当前所在的结点。思想:对于每个非叶节转载 2013-01-22 15:28:30 · 17362 阅读 · 0 评论 -
【转】C语言的位运算的优势
位运算加速技巧1. 如果乘上一个2的倍数数值,可以改用左移运算(Left Shift) 加速 300%x = x * 2;x = x * 64;//改为:x = x 1x = x 62. 如果除上一个 2 的倍数数值,可以改用右移运算加速 350%x = x / 2;x = x / 64;//改为:x = x >> 1;// 2 = 21x = x转载 2012-12-29 22:36:43 · 2400 阅读 · 2 评论