这是一个纯纯的,水水的线段树板子
以下是CODEVS1080代码
——68行
#include<iostream>
#include<cstdio>
#include<cstdlib>
#define N 100000
using namespace std;
int L[4*N+1],R[4*N+1];
int n,m;
int a[4*N+1];//存两儿子之和
int t[N];
//即:
//a[i]存L[i]到R[i]数据之和
inline int gi() {
int f=1,p=0;
char c=getchar();
while(c<'0'||c>'9') {
if(c=='-')f=-1;
c=getchar();
}
while(c>='0'&&c<='9')p=p*10+c-'0',c=getchar();
return p*f;
}
inline void build(int o,int l,int r) { //建树
L[o]=l;
R[o]=r;
if(l==r) {
a[o]=t[r