经典入门题中文题...题意略...数据小 可以单点更新 区间求和 1 #define lson l, m, rt>1;16 build(lson);17 build(rson);18 pushup(rt);19 }20 void update(int p, int add, ...
分类:
其他好文 时间:
2014-09-29 22:36:31
阅读次数:
202
题意:给n个数字,每次两种操作: 1.修改第x个数字为y。 2.查询[L,R]区间内第D位为P的数有多少个。解法:这题当时被卡内存了,后来看了下别人代码发现可以用unsigned short神奇卡过,于是学习了。这种区间求和的问题很容易想到树状数组,根据第i位为j(i#include #includ...
分类:
其他好文 时间:
2014-09-29 16:48:31
阅读次数:
274
VJ题目链接题意:平面上有n个点,在x轴上放一些点,使得平面上所有点都能找到某个x轴上的点,使得他们的距离小于d。求最少放几个点。思路:以点为中心作半径为d的圆,交x轴为一个线段。问题转换成用最少的店覆盖所有的线段。经典贪心。按右点从小到大排序,然后从左往右扫,每次选择区间右点就行了。代码:#inc...
分类:
其他好文 时间:
2014-09-29 16:39:11
阅读次数:
196
本节介绍set集合的相关算法,分别是并集set_union,差集set_difference,交集set_intersection和对称差集set_symmetric_difference,这是个函数都提供了两个版本的函数原型:第一个版本是采用默认的排序比较方式 operator<;第二个版本是用户通过仿函数comp自行指定排序方式。注意:这四个算法接受的输入区间都是有序的,输出也是有序的。...
分类:
其他好文 时间:
2014-09-29 16:00:51
阅读次数:
120
概要:平衡树大概是最常用的高级数据结构了,而treap用来进行一般的信息维护,splay用来进行高级的信息维护(比如区间操作、lct等)(map、set党自重QAQ)。技巧及注意:细节十分多。treap中如果设小根堆的话(最好设小根堆),null的重量要设置为inf。平衡树中的重复元素两种处理方法,...
分类:
其他好文 时间:
2014-09-29 14:20:21
阅读次数:
318
VJ题目链接题意:n个数,求区间[l,r] 使得 sum[l,r]*min(a[l],a[l+1],...,a[r]) 最大。若有多种答案,输出区间最短的。若还有多组,输出最先出现的。思路:求出a[i]为最小数时,最大的区间范围,即求a[i]的最左边的小于a[i]的位置,最右边的位置。坑点:因为要最...
分类:
其他好文 时间:
2014-09-29 14:12:40
阅读次数:
241
题目: 输入两个数(m,n),m表示牛的头数,n表示查询的个数。查询时输入两个数(x,y),表示查询范围的起始值和终止值,查询结果是,这个区间内牛重量的最大值减去牛重量的最小值,数量级为1000,000 设计每次查询的复杂度为logm。 例如, 输入:6 3
1
7
3
4
2
5
1 5
4 6
...
分类:
其他好文 时间:
2014-09-29 14:01:20
阅读次数:
167
区间k大,分块大法好,每个区间内存储一个有序表。二分答案,统计在区间内小于二分到的答案的值的个数,在每个整块内二分、零散的暴力即可。还是说∵有二分操作,∴每个块的大小定为sqrt(n*log2(n))比较快呢。 1 #include 2 #include 3 #include 4 #include ...
分类:
其他好文 时间:
2014-09-29 09:48:57
阅读次数:
229
概要:就是用来维护区间信息,然后各种秀智商游戏。应用:优化dp、主席树等。技巧及注意:size值的活用:主席树就是这样来的。支持区间加减,例题和模板:主席树,【BZOJ】1146: [CTSC2008]网络管理Network(树链剖分+线段树套平衡树+二分 / dfs序+树状数组+主席树),【BZO...
分类:
其他好文 时间:
2014-09-29 01:31:36
阅读次数:
302
题意:。。。
策略如题。
思路:我们先假设只求某一区间的最大值,我们只需要利用线段树的模板,只需要初始化和询问的时候小小的修改一下,改成祖先结点储存的不再是子节点的和而是两个子节点之间的最大值,这样我们可以求出最大值了,最小值也是这样求。
注意:因为询问的时候既要求最大值又要求最小值,所以要返回结构体。
代码:
#include
#include
#define M 100005...
分类:
其他好文 时间:
2014-09-29 01:29:28
阅读次数:
302