码迷,mamicode.com
首页 >  
搜索关键字:区间    ( 16036个结果
有序向量的去重算法
声明:本文参考 Xuetangx 数据结构 丁俊晖 老师的相关课程,不失为一个个人总结。首先,这肯定是一个简单而且看起来一目了然的命题。对于有序向量,特别注意是“有序”向量,抓住重要的一个特点,那就是,相同的元素必然是在同一个不间断的区段内的,即相同的元素都是紧邻的构成一个区间。像这样:最后要做到:...
分类:编程语言   时间:2014-10-24 01:38:57    阅读次数:165
HDU 4819 Mosaic --二维线段树(树套树)
题意: 给一个矩阵,每次查询一个子矩阵内的最大最小值,然后更新子矩阵中心点为(Max+Min)/2.解法: 由于是矩阵,且要求区间最大最小和更新单点,很容易想到二维的线段树,可是因为之前没写过二维的线段树,所以没跳出来。后来熟悉了一下,原来很多细节地方都没有考虑到。这里build,update,qu...
分类:其他好文   时间:2014-10-24 01:35:48    阅读次数:227
ural 1019 Line Painting(线段树)
题目链接:ural 1019 Line Painting 题目大意:一个0~1e9的区间,初始都是白的,现进行N次操作,每次将一段区间图上一中颜色。最后问说连续最长的白色区间。 解题思路:线段树区间合并,每个节点即维护一个区间,很经典。注意坐标需要离散化,但是还是要将0和1e9放进去。 #include #include #include using namespace st...
分类:其他好文   时间:2014-10-24 00:21:20    阅读次数:227
poj 2481 Cows(树状数组)
题目链接:poj 2481 Cows 题目大意:给定若干的区间,问说每个区间被多少个区间完全包含。 解题思路:将区间按照区间左端点小的,右端点大的排序,然后扫描一遍,每次查询[r,maxn],然后在r处添加1。注意 区间相同的情况,需要添加,但是不需要查询,直接和前一个的是相同的。 #include #include #include using namespace s...
分类:编程语言   时间:2014-10-24 00:20:42    阅读次数:209
Hdu4737 ( A Bit Fun ) 线段树
题意:统计最后有多少对[i,j]使得其区间内所有的值的或的值#include #include #include #include #include #include #include #include #include #include #include #include using namesp...
分类:其他好文   时间:2014-10-23 20:37:17    阅读次数:147
数据结构--二分查找
二分法查找(折半查找)的基本思想:前提:顺序存储且元素有序(1)确定该区间的中点位置:mid=(low+high)/2min代表区间中间的结点的位置,low代表区间最左结点位置,high代表区间最右结点位置(2)将待查a值与结点mid的关键字(下面用R[mid].key)比较,若相等,则查找成功,否...
分类:其他好文   时间:2014-10-23 20:29:48    阅读次数:118
fzu 2136 取糖果(线段树)
题目链接:fzu 2136 2136 取糖果 题目大意:略。 解题思路:线段树区间合并。将袋子按照个数排序,每次将最小的放入线段树,如果当前连续的个数超过区间,那么说明最小值即为最后加入的袋子糖果个数。 #include #include #include #include using namespace std; const int maxn = 1e5 + 5; #...
分类:其他好文   时间:2014-10-23 19:19:10    阅读次数:181
树链剖分(模版)
树链剖分是解决在树上进行插点问线,插线问点等一系列树上的问题 假如现在给你一棵树,然后没两条边之间有一条权值,有一些操作,1:x---y之间的最大权值是多少,2:改变x---y之间的权值 当前这样的操作有很多,如果直接用暴力的方法的话肯定不行,那么就要想一个好的方法,我们可以想一下能不能借助线段树解决,能不能想一种方法对树上的边进行编号,然后就变成区间了。那么我们就可以在线段树上进行操作了...
分类:其他好文   时间:2014-10-23 17:48:23    阅读次数:285
HDU 5073 Galaxy(Anshan 2014)(数学推导,贪心)
题目大意:数轴上有n个点,每个点重量1 ,可以移动其中k个点到任何位置, 使得题中式子的值最小 解题思路:选择保留区间长度为N - K的连续的数, 然后其余的K个数都移动到这N-K个数的中心。 那个式子其实表示的是方差,选择的点越密集,方差越小,所以选择连续的N-K个。其余的如果放到其他地方,肯定没有放到N-K的质心更优。 但这样每次枚举长度为N-K的区间,再计算相应的方差,复杂度为O(NK),会超时。所以通过数学推导变形,避免重复计算。具体如下: 第i个到第i+n-k-1个的 方差 = (Xi - X...
分类:其他好文   时间:2014-10-23 09:34:28    阅读次数:260
BZOJ3544 [ONTAK2010]Creative Accounting
看不懂题,就不能写的稍微像人话点吗我去。。。题目就是要找一段区间使得Σai mod m的值最大。于是嘛。。。前缀和一下再贪心就好了。先求出前i个数的前缀和s,然后用s更新解。还有可能就是前面的某个前缀和s1刚好在mod m意义下大于s且是最小的一个,那么这一段的和就是m + s- s1,再用它来更新...
分类:其他好文   时间:2014-10-22 23:25:46    阅读次数:182
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!