码迷,mamicode.com
首页 >  
搜索关键字:区间    ( 16036个结果
和为k的连续区间 前缀和
一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间i,ji,j,(1 <= i <= j <= n),使得aii + ... + ajj = k。 Input第1行:2个数N,K。N为数列的长度。K为需要求的和。(2 <= N <= 10000,-10^9 <= K ...
分类:其他好文   时间:2017-07-16 19:26:54    阅读次数:166
HDU3308
题目链接:https://vjudge.net/problem/HDU-3308 解题思路:以len[ ]保存区间内的最长单调递增区间长度,以llen[ ]保存区间内从第一个元素开始的最长单调递增区间长度,以rlen[ ]保存区间内以最后一个元素为结尾的最长单调递增区间长度。【 b( ̄▽ ̄)d 好拗 ...
分类:其他好文   时间:2017-07-16 16:47:52    阅读次数:159
Salty Fish(区间和)
Problem 2253 Salty Fish Accept: 35 Submit: 121Time Limit: 1000 mSec Memory Limit : 32768 KB Accept: 35 Submit: 121Time Limit: 1000 mSec Memory Limit : ...
分类:其他好文   时间:2017-07-16 16:41:28    阅读次数:154
【倍增】RMQ的ST表算法
RMQ问题:给定一个长度为N的区间,M个询问,每次询问Li到Ri这段区间元素的最大值/最小值。 RMQ的高级写法一般有两种,即为线段树和ST表。 本文主要讲解一下ST表的写法。(以区间最大值为例) ST表:一种利用dp求解区间最值的倍增算法。 定义:f[i][j]表示i到i+2^j-1这段区间的最大 ...
分类:编程语言   时间:2017-07-16 15:51:39    阅读次数:176
bzoj1699
st表 我还不会st表 f[i][j]表示[i,i+2^j)区间的最值 构造就像lca一样f[i][j]=f[i][j-1] f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]) 表示[i+2^(j-1)) [i+2^(j-1), i+2^j) 然后查询找出一个2的 ...
分类:其他好文   时间:2017-07-16 13:37:41    阅读次数:139
(树链剖分+线段树)POJ - 3237 Tree
前言: 一直听说树链剖分-树链剖分,现在见识一下,,,感觉不是很难0.0 看了一下kuangbin模板基本秒懂 对于点,按重边优先给予每个点一个编号,对于一条重链上的点,编号则是连续的,将所有编号映射到线段树上,即可进行一切区间操作。 对于边的处理,我们将所有边对应到这条边节点更深的那个点上即可。 ...
分类:其他好文   时间:2017-07-16 13:33:19    阅读次数:184
bzoj3879
后缀数组+st表+单调栈 这道题是差异的加强版 看起来和差异差不多,但是询问的位置是不连续的,那么我们让他们连续就行。 把每个位置赋成rank值,因为lcp[i]表示rank=i和i+1的最长公共前缀,然后st表处理出相邻两个rank的lcp值,然后和差异一样,单调栈处理最左端和最右端的区间,乘起来 ...
分类:其他好文   时间:2017-07-16 13:28:31    阅读次数:125
【冲刺noi】真banzi大集合
自己风格的板子 = = 考试时别把板子码错就好 = = 一、数据结构 1.树状数组单点修改区间查询(luogu3374) 2.树状数组区间修改区间查询(luogu3372) 3.线段树区间修改区间查询(luogu3373) 4.Treap(loj104) 5.Splay(loj105) 6.主席树查 ...
分类:其他好文   时间:2017-07-16 12:36:09    阅读次数:285
POJ 2318/2398 叉积性质
2318 2398 题意:给出n条线将一块区域分成n+1块空间,再给出m个点,询问这些点在哪个空间里。 思路:由于只要求相对位置关系,而对具体位置不关心,那么易使用叉积性质得到相对位置关系(左侧/右侧),再因为是简单几何线段不相较,即有序分布,那么在求在哪个区间时可以先对所有线段根据x坐标排序,使用 ...
分类:其他好文   时间:2017-07-16 12:33:51    阅读次数:142
hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)
1.题目大意是,给你一个1000位的数,要你删掉m个为,求结果最小数。 思路:在n个位里面删除m个位。也就是找出n-m个位组成最小数 所以在区间 [0, m]里面找最小的数。相应的下标标号i 接着找区间 [i+1,m++]里面的最小数。对于下标为ii 接着找区间 [ii+1,m++]里面的最小数…… ...
分类:其他好文   时间:2017-07-16 12:26:41    阅读次数:294
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!