码迷,mamicode.com
首页 >  
搜索关键字:线段树    ( 9365个结果
HDU 1394 Minimum Inversion Number (数据结构-线段树)
HDU 1394 Minimum Inversion Number (数据结构-线段树) 题目大意: 求逆序数。也就是给你一个序列,每次求逆序数,然再把第一个数放到这个序列的末尾,构成新的序列。问你这n个序列的最小的逆序数。 解题思路: 1、对于每个序列,其原来的逆序数记为 pre , 如果当前把该序列 第一个数 a[0] 移动到尾部,那么新序列的逆序数为 pre-a[i]+(n-a[i]-1) 因为序列中比a[i]大的数有 n-a[i]-1 个,比a[i]小的有 a[i]个。 因此只需求出...
分类:其他好文   时间:2014-05-12 07:07:01    阅读次数:301
HDU 1264 Counting Squares (线段树-扫描线-矩形面积并)
HDU 1264 Counting Squares (线段树-扫描线-矩形面积并) 题目大意: 给定你一些矩形左下右上角坐标点,或者左上右下坐标点,求这些矩形的面积并。 解题思路: 利用线段树扫描线的知识,此题不需要离散化。...
分类:其他好文   时间:2014-05-12 06:43:25    阅读次数:442
线段树
线段树札记线段树不是区间树,线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。注意他是把一段连续的区间分为单元区间为叶子节点的一颗数,以此为基础,展开一系列牛逼的计算。首先就是如何建立这么一个线段树?如此递归地建立,对于线段树中的每一个非叶子...
分类:其他好文   时间:2014-05-11 22:58:35    阅读次数:458
HDU 4027 Can you answer these queries? 线段树裸题
题意: 给定2个操作 0、把区间的每个数sqrt 2、求和 因为每个数的sqrt次数很少,所以直接更新到底,用个标记表示是否更新完全(即区间内的数字只有0,1就不用再更新了) #include #include #include #include #include #include #include #include using namespace std; #define N 1000...
分类:其他好文   时间:2014-05-11 21:02:45    阅读次数:325
13杭州区域赛现场赛Rabbit Kingdom(树状数组+离线)
题意:给你一个长度数列,再给你m个询问(一个区间),问你在这个区间里面有多少个数与其他的数都互质。解题思路:你看这种类型的题目都可以肯定这是 离线+树状数组(线段树)。主要就是他的更新信息。这里我的处理是先把1-200000(每个数的范围)数里面所有的质因子求出来。然后从后往前遍历数组。会出现以下几...
分类:其他好文   时间:2014-05-11 14:58:56    阅读次数:288
线段树-区间单个点更新-区间和-区间最大
线段树-区间最大-区间和-几何...
分类:其他好文   时间:2014-05-11 02:43:42    阅读次数:406
Wikilo 1191线段树区间修改单点查询
这题也算比较容易的了。 如果哪个区间已经没有黑色的话,就不用update了,就是因为这个原因WA了2发,唉…… #include #include #include #include #include #include #include #include #include #include #include #include #define PI acos(-1.0) ...
分类:其他好文   时间:2014-05-09 22:55:55    阅读次数:341
Wikioi 2492 树状数组+并查集(单点更新区间查询)
刚开始做的时候用线段树做的,然后就跳进坑里了……因为要开方,所以区间的值都得全部变,然后想用lazy标记的,但是发现用不了,单点更新这个用不了,然后就不用了,就T了。然后实在不行了,看了别人的题解,原来是用树状数组+并查集的方法,唉……没想到啊! 因为开方之后多次那个数就会变成1了,所以是1的时候开方下去就没用了。树状数组更新的时候就把其更新的差更新即可,太机智了这题…… 昨天做了,然后出错找...
分类:其他好文   时间:2014-05-09 22:35:22    阅读次数:290
Wikioi 1082线段树成段更新成段查询
这题从昨晚搞到现在敲了又改好久,刚开始是update中错了,然后找到了。但是还错,然后因为题目没有数据的范围提示,所以弄了好久都不知道哪错了,最后看评论才知道是超int了,改了之后还有错,然后才发现虽然改成long long了,但是输出的时候没改,哈哈…… #include #include #include #include #include #include #include...
分类:其他好文   时间:2014-05-09 01:20:40    阅读次数:280
HDU 4578 线段树区间更新(确定区间操作的优先级)
HDU 4578 线段树区间更新 操作有: 区间所有数add(c) 区间所有数mul(c) 区间所有数set(c) 查询有: 区间所有数的p次方和(p>= 1 && p 关键是区间更新的三种操作的优先级的确定清楚 关键是:down和update中对区间的更新操作是一回事,可以写成函数方便编程 //#pragma warning (disable: 47...
分类:其他好文   时间:2014-05-09 01:08:38    阅读次数:432
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!