码迷,mamicode.com
首页 >  
搜索关键字:区间维护    ( 49个结果
poj3728The merchant树剖+线段树
如果直接在一条直线上,那么就建线段树 考虑每一个区间维护最小值和最大值和答案,就符合了合并的条件,一个log轻松做 那么在树上只要套一个树剖就搞定了,多一个log也不是问题 注意考虑在树上的话每一条链都有可能是正着被用和反着被用,所以存两个答案 所以维护信息只需要一个merge和一个reverse ...
分类:其他好文   时间:2017-05-07 13:09:19    阅读次数:252
bzoj1018:[SHOI2008]堵塞的交通traffic
思路:线段树好题,用线段树维护连通性。 区间[l,r]表示左端点为l,右端点为r,宽度为2的矩形,那么线段树区间维护的就是该区间内的四个角的连通情况,注意是该区间内的连通情况,也就是说只能通过该区间内部进行连通而不能越出区间而进行连通。 一共六种连通情况:左上对右上,左上对左下,左上对右下,右上对左 ...
分类:其他好文   时间:2016-11-04 13:44:36    阅读次数:276
Hdu BestCoder 开分矿
total = 2 Hdu: 5944 (BestCoder Round #89 1001): 枚举等比数列的第一项和公比,可以优化复杂度到 $O(n*\sqrt{n})$。还是太naive了,写了从$O(n^2logn)$到 $O(n^2)$的一系列做法TLE到死去活来。 5955 (BestCo ...
分类:其他好文   时间:2016-10-30 13:46:35    阅读次数:164
uoj164. 【清华集训2015】V 统计
坑爹题面:http://uoj.ac/problem/164 正常题面: 对于一个序列支持下列5个操作: 1.区间加x 2.区间减x并与0取max 3.区间覆盖 4.单点查询 5.单点历史最大值查询 题解: 每个区间维护一个标记函数f(x)=max(x+a,b) 那么两个标记 f 和 g 的合并就是 ...
分类:其他好文   时间:2016-04-21 21:48:38    阅读次数:362
poj3468 A Simple Problem with Integers
模版题 #include <iostream> #include <cstdio> #include <cstdlib> //基于线段树的区间维护 //维护结点o,它相应区间[L,R] #define ll long long const int MAX_N=111111; const int MA ...
分类:其他好文   时间:2016-04-17 16:09:31    阅读次数:239
POJ3468(树状数组区间维护)
模板题#include"cstdio"#include"cstring"#define lowbit(i) i&(-i)using namespace std;const int MAXN=100005;typedef long long LL;LL bit0[MAXN];LL bit1[MAXN]...
分类:编程语言   时间:2015-11-22 15:59:54    阅读次数:136
bzoj2957:线段树
看黄学长的代码理解的。。。因为是一段区间而且涉及到区间修改,而且想到可以区间维护每段中有几个满足是递增的序列。好像符合线段树了吧。。贴一下代码以后才会记住。------------------------------------------------------------------------...
分类:其他好文   时间:2015-11-20 23:07:08    阅读次数:223
POJ3468(线段树区间维护)
#include#define lson n>1using namespace std;const int MAX_N=100005;typedef long long LL;struct node{ int l,r; LL sum,lazy;}a[MAX_N<<2];void Push...
分类:其他好文   时间:2015-11-06 12:41:17    阅读次数:201
UVA 11990 ``Dynamic'' Inversion
题目要求可转化为查询一个区间内有多少数比val大(或者小)。区间用线段树分解(logN),每个区间维护一rank树。rank可用BIT查询,但是为了保证不同区间的BIT互不影响要先离散。首先进行分治,分治的同时归并排序完成离散并计算保存出每个元素和其他元素构成的逆序对iv[i]。初始值将所有iv求和...
分类:其他好文   时间:2015-10-08 16:21:53    阅读次数:179
BZOJ4127 : Abs
树链剖分+线段树。线段树每个区间[l,r]维护:m:最大的负数s:所有数字绝对值的和d:正数的个数-负数的个数t:懒惰标记区间修改时,若最大的负数=0,则暴力递归,否则打标记。因为每个负数只会被暴力修改一次,所以时间复杂度为$O(n\log^2n)$。#include#define N 100010...
分类:其他好文   时间:2015-09-05 01:15:45    阅读次数:292
49条   上一页 1 2 3 4 5 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!