
模版
韦我独尊-德天独厚
这个作者很懒,什么都没留下…
展开
-
树状数组模版
//二维树状数组const int maxn = 1050;int c[maxn][maxn];int n;int lowbit(int x) { return x&(-x);}//设原始矩阵为matrix,将matrix[x][y]加上val对c矩阵所做的修改void add(int x, int y, int val) { int i=y; while (x<=n) {转载 2014-04-21 19:08:38 · 609 阅读 · 0 评论 -
SPFA模版理解
SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。算法大致流程是用一个队列来进行维护。 初始时将源加入队列。 每次从队列中取出一个元素,并对所有与他相邻的点进行松弛,若某个相邻的点松弛成功,则将其入队。 直到队列为空时算法结束。这个算法,简单的说就是队列优化的bellman-ford,利用了转载 2013-09-24 21:19:58 · 602 阅读 · 0 评论 -
组合数模版 整理
九野的博客,转载请注明出处:http://blog.youkuaiyun.com/acmmmm/article/details/12318011组合数:公式递推代码C(n, m) = C(n -1, m - 1) + C(n - 1, m) const int M = 10007; //注意M是 取模const int MAXN = 1000;int C[MAXN+1][原创 2014-07-19 10:15:48 · 679 阅读 · 0 评论 -
优先队列版子
优先队列用法在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的优先队列的第一种用法,也是最常用的用法:priority_queueint> qi;通过故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。转载 2014-08-03 19:50:17 · 509 阅读 · 0 评论 -
树状数组求区间和的一些常见模型
树状数组在区间求和问题上有大用,其三种复杂度都比线段树要低很多……有关区间求和的问题主要有以下三个模型(以下设A[1..N]为一个长为N的序列,初始值为全0):(1)“改点求段”型,即对于序列A有以下操作:【1】修改操作:将A[x]的值加上c;【2】求和操作:求此时A[l..r]的和。这是最容易的模型,不需要任何辅助数组。树状数组中从x开始不断减lowbit(x)(转载 2015-03-29 09:29:01 · 476 阅读 · 0 评论