随笔分类 - 学习笔记
摘要:ST算法流程 预处理 ST算法其实是动态规划,我们用a数组来表示一组数字,设f[i][j]表示从a[i]开始到a[i + 2 ^ j - 1]这个范围内的最大值,即从i位置开始连续2 ^ j个数中最大的数字。由于元素个数为2^j个,所以我们可以把它分成2部分,每一部分的长度为2^(j-1),也就是说
阅读全文
摘要:基本思想 根据任意正整数都可以被关于2的不重复次幂的唯一分解性质,若一个正整数x被分为10101,其中等于1的位是0,2,4,所以x可以被分解为2^4 + 2 ^ 2 + 2 ^ 0,进一步,区间为[1, x]的序列可以分成log(x)个小区间: 1 长度为2 ^ 4的[1, 2 ^ 4]; 2长度
阅读全文
摘要:无向图的割点和桥 定义 割点:删除这个点时图将不再连通 割边:删除这条便时图将不再连通 时间戳 在图的深度优先搜索中的顺序(第几个被访问) 搜索树 在深搜时形成的树 图一为一张无向连通图,中间的为起点,红边为“发生递归”的边 图二就是搜索树了,编号为时间戳 追溯值 追溯值为low[],low[x]表
阅读全文
摘要:vector vector可以理解为变长的动态数组,内部基于倍增思想 size/empty size函数返回的是vector的长度 empty函数返回的是一个bool类型,表示vector是否为空 clear 将vector清空 迭代器 迭代器像一个指针,可以用*解除引用 一个保存int类型的迭代器
阅读全文