&&资料学习&&
键盘上的舞者
这个作者很懒,什么都没留下…
展开
-
线段树
1.概述 线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,它基本能保证每个操作的复杂度为O(lgN)。 2.线段树基本操作 线段树的基本操作主要包括构造线段树,区间查询和区间修改. 3.线段树的相关操作代码 (1) 线段树构造 首先介绍构造线段树的方法:让根节点表示区间[0,N-转载 2013-01-20 15:38:32 · 1005 阅读 · 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 · 1221 阅读 · 0 评论 -
最常用标准库函数
最常用标准库函数 标准头文件包括: 标准定义() 文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来。这个文件里定义: 类型size_t(sizeof运算符的结果类型,是某个无符号整转载 2013-01-10 21:38:20 · 3365 阅读 · 0 评论 -
线段树
HH神的线段树出神入化,所以跟着HH学习线段树。 风格: maxn是题目给的最大区间,而节点数要开4倍,确切的说…… lson和rson辨别表示结点的左孩子和右孩子。 PushUp(int rt)是把当前结点的信息更新到父节点 PushDown(int rt)是把当前结点的信息更新给孩子结点。 rt表示当前子树的根(root),也就是当前所在的结点。 思想: 对于每个非叶节转载 2013-01-22 15:28:30 · 17350 阅读 · 0 评论 -
【转】C语言的位运算的优势
位运算加速技巧 1. 如果乘上一个2的倍数数值,可以改用左移运算(Left Shift) 加速 300% x = x * 2; x = x * 64; //改为: x = x 1 x = x 6 2. 如果除上一个 2 的倍数数值,可以改用右移运算加速 350% x = x / 2; x = x / 64; //改为: x = x >> 1;// 2 = 21 x = x转载 2012-12-29 22:36:43 · 2397 阅读 · 2 评论