/*
水水的线段树点修改:
----------------------------------------------------------------
void build(int l,int r,int o)建树
{
int mid = (l + r) / 2;
a[o].left = l;
a[o].right = r;
a[o].num = 0;
...
分类:
其他好文 时间:
2014-08-08 21:24:56
阅读次数:
322
解题报告
题意:
略
思路:
线段树单点增减和区间求和。
#include
#include
#include
#define LL long long
using namespace std;
int sum[201000];
void update(int root,int l,int r,int p,int v)
{
int mid=(l+r)/2;
if(l...
分类:
其他好文 时间:
2014-08-07 23:11:02
阅读次数:
378
很多线段树的题目看上去都是很裸的,而且线段树的算法也就那么几个。但是想做出一道题,还是没有那么简单的。因为,难题都是由简单题组成的。下面是根据NotOnlySuccess大牛整理的题目,以及结合了自己及别人的一些线段树题,其中涵盖了流行OJ的大部分题目。
一、单点跟新|求解区间值
1.hdu1166 敌兵布阵:是一道基础的单点更新,区间求和问题。
2.hdu1754 I Hate I...
分类:
其他好文 时间:
2014-08-07 13:22:50
阅读次数:
212
用树状数组把HDU1166再写了一次 感觉树状数组简洁 1 #include 2 #include 3 #include 4 using namespace std; 5 int c[50002],lv[50002],n; 6 int lowbit(int x){return x&(-x);}...
分类:
其他好文 时间:
2014-08-07 12:35:39
阅读次数:
191
题目意思是中文的,相信大家都看得懂不解释。
普通的单点更新线段树,无坑无陷阱。
因为,做的线段树题不多,所以没有自己的代码风格。正在建立自己的风格中。
虽然,以前早就写了N遍这道题了,但是这次要把线段树的大部分题都过一遍,所以这题也写了一下,并且更改了以往的代码风格。
#include
#include
#include
#define lson l,m,rt << 1
#defi...
分类:
其他好文 时间:
2014-08-05 11:08:59
阅读次数:
192
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营 地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的...
分类:
其他好文 时间:
2014-08-04 01:56:06
阅读次数:
344
没有用到懒惰标记的线段树问题,不过通过这道题找到了不用数组就能找到写update的方法了#include#include#include#include#includeusing namespace std;#define max 50010#define INF 0x3f3f3f3fint tre...
分类:
其他好文 时间:
2014-08-01 18:59:22
阅读次数:
171
是一道树状数组的裸题,也可以说是线段树的对于单点维护的裸题。多做这种题目可以提高自己对基础知识的理解程度,很经典。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #inclu...
分类:
其他好文 时间:
2014-07-27 21:28:35
阅读次数:
234
1、写法一: 1 #include 2 #include 3 #include 4 5 using
namespace std; 6 7 int numv[50005 2 #include 3 #include 4 5 using namespace std;
6 7 int nu...
分类:
其他好文 时间:
2014-06-12 11:36:43
阅读次数:
316