码迷,mamicode.com
首页 >  
搜索关键字:线段树    ( 9365个结果
线段树
#include#include#includeusing namespace std;const int maxn=200005;int val[maxn+1];struct node{ int total; int left; int right; int mark;//...
分类:其他好文   时间:2014-08-19 14:08:24    阅读次数:195
POJ 3264-Balanced Lineup(线段树:单点更新+区间查询)
Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 34522   Accepted: 16224 Case Time Limit: 2000MS Description For the daily milking, Farme...
分类:其他好文   时间:2014-08-19 12:53:04    阅读次数:279
hdoj 1394 Minimum Inversion Number【线段树求逆序对】
#include #include #include using namespace std; const int N = 101000; int a[N]; struct Node { int l,r,num; }; Node tree[4*N]; void build(int l,int r,int o) { tree[o].l=l,tree[o].r=r; t...
分类:其他好文   时间:2014-08-19 11:03:14    阅读次数:222
codeforces 459D - Pashmak and Parmida's problem【离散化+处理+逆序对】
题目:codeforces 459D - Pashmak and Parmida's problem 题意:给出n个数ai...
分类:其他好文   时间:2014-08-19 10:59:14    阅读次数:250
HDU 1698 Just a Hook(线段树成段更新)
题意很简单:1-n个钩子初始价值是1,然后题目给出Q个操作,x y z,将x->y的钩子价值改为z,最后输出n个钩子的总价值。 知识点:线段树的成段更新。 lazy操作,在代码中的主要实现就是pudown操作了。当你要用的时候,就更新值,不然就仅仅标记它。 #include #include #include #include #include #include #inc...
分类:其他好文   时间:2014-08-19 09:24:44    阅读次数:187
SPOJ 1043 Can you answer these queries I 求任意区间最大连续子段和 线段树
题目链接:点击打开链接 维护区间左起连续的最大和,右起连续的和。。 #include #include #include #include #include #include #include using namespace std; #define N 50050 #define Lson(x) tree[x].l #define Rson(x) tree[x].r #defi...
分类:其他好文   时间:2014-08-18 23:35:33    阅读次数:272
hdu 3379 Sequence operation(成段更新,区间合并)
http://acm.hdu.edu.cn/showproblem.php?pid=3397 线段树很好的题。涉及到的知识点:lazy操作,区间合并。 有五种操作: 0 a b 将[a,b]变为0 1 a b 将[a,b]变为1 2 a b 将[a,b]取反 3 a b 输出[a,b]的1的个数 4 a b 输出[a,b]内最长的连续1的个数 对区间的操作与poj 3225...
分类:其他好文   时间:2014-08-18 20:34:52    阅读次数:362
HDU 1394(线段树单点更新)
题意:就是给出一串数,当依次在将第一个数变为最后一个数的过程中,要你求它的最小逆序数。 思路:可以用树状数组和线段数做。这里我是用线段树做的。建的是一棵空树,然后每插入一个点之前,统计大于这个数的有多少个,直到所有的数都插入完成,就结果了逆序树的统计。 要得出答案主要是利用了一个结论,如果是0到n的排列,那么如果把第一个数放到最后,对于这个数列,逆序数是减少a[i],而增加n-1-a[...
分类:其他好文   时间:2014-08-18 18:44:42    阅读次数:169
求逆序对 (树状数组版)
基本思想和线段树求解逆序数是一样的,前一篇《求逆序对 线段树版》也介绍过,先对输入数组离散,数组里的元素都不相同可以直接hash,存在相同的数话可以采用二分。 离散化后对于每个f[i],找到f[i]+1~ n中的个数,也就是到i这个位置,一共有多少比f[i]大的数,统计之后在将f[i]的位置上的数量加1。 这样一来统计的就是类似a[i]~n的和,可以想象成 把树状数组反过来统计,即统计的时候加...
分类:其他好文   时间:2014-08-18 16:30:22    阅读次数:169
poj 3468(简单线段树区间更新)
A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 61936   Accepted: 18934 Case Time Limit: 2000MS Description You have N i...
分类:其他好文   时间:2014-08-18 14:34:42    阅读次数:270
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!