
线段树
文章平均质量分 70
Lndulge.
一个蒟蒻 OIer
还在努力中 noip加油!
这个博客用来记录笔记和做的题。。
展开
-
[笔记]: 线段树
线段树和树状数组的功能类似 但是比树状数组强大的是线段树可以进行区间的更新操作(不只是单点更新)如把数组1-3加5 或者把数组5-6全部改为4 等等但是线段树的代码量比树状数组要大下面代码/*线段树输入一个数组改变区间l到r 使a数组l到r每个加上d求区间ll到rr的和 样例:101 2 3 4 5 6 7 8 9 105 7 2 1 8 输出42 */#include原创 2017-05-26 11:54:50 · 362 阅读 · 0 评论 -
[zoj]: 1610 & [poj]: 2777 (颜色覆盖题)
zoj1610 Count the ColorsTime Limit: 2 Seconds Memory Limit: 65536 KB Painting some colored segments on a line, some previously painted segments may be covered by some the subsequent ones. Your原创 2017-05-29 18:46:01 · 436 阅读 · 0 评论 -
[vijos 1659]: 河蟹王国
河蟹王国 描述 河蟹王国有一位河蟹国王,他的名字叫羊驼。河蟹王国富饶安定,人们和谐相处。有一天,羊驼国王心血来潮,想在一部分人中挑出最和谐的人。于是,羊驼国王将他的子民排成了一列(==!!b汗~好长呀)。每个人都有一个初始的和谐值。羊驼国王每次会选择一个区间[L,R],这个区间中和谐值最大的人就是国王选出的人。而且,在某一时间,区间[L’,R’]里的人会变得熟悉,因此他们每个人的和谐值都会上升一原创 2017-05-29 18:28:49 · 282 阅读 · 0 评论 -
[noip 2012] 换教室(线段树)
借教室 描述 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj原创 2017-05-29 18:14:15 · 267 阅读 · 0 评论 -
[codevs]: 切水果(线段树)
1299 切水果 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 简单的说,一共N个水果排成一排,切M次,每次切[L,R]区间的所有水果(可能有的水果被重复切),每切完一次输出剩下水果数量 数据已重新装配,不会出现OLE错误 时限和数据范围适当修改,避免数据包过大而浪费空间资源输入描述 Input De原创 2017-05-29 17:54:10 · 389 阅读 · 0 评论 -
[codevs]: 线段树练习1-4
题目较多就不贴了^_^ 都是线段树入门模板题 比较简单的题目原创 2017-05-29 17:29:08 · 281 阅读 · 0 评论 -
[hdu&poj&洛谷] 经典线段树练习题
1.hdu1166敌兵布阵#include#include#define maxn 50000int ans;struct node { int left,right,sum; int mid() { return (left+right)>>1; }}tree[maxn*4];void btree(int left,int r原创 2017-06-01 08:10:10 · 798 阅读 · 0 评论 -
NOI2016区间
传送门题解 Step 1 首先想如果知道了是哪些区间 怎么判断使得这 m个区间共同包含至少一个位置呢方法:区间打标记每次给一个区间,就把这个区间的值+1 如果有一个地方超过了m次,显然m个区间至少共同包含一个位置 这个时候就需要一个可以支持区间修改,查询区间最大值的数据结构那么就是线段树了 Step 2 如何知道选那些区间呢?首先对于每个区间 [L,R原创 2017-07-21 14:35:43 · 558 阅读 · 0 评论