线段树是一种极为重要的数据结构,能够解决许多动态区间问题,例如区间修改,单点修改,区间最值查询,区间求和等,可以说是我们必须要掌握的技能,模板题链接如下:https://www.luogu.com.cn/problem/P3372,附上代码实现:
import javafx.scene.chart.StackedAreaChart;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
/**
* 线段树能解决的问题:
* 1.区间查询
* 2.单点修改
* 3.区间修改
*/
public class 线段树模板 {
static int MAX;//假设区间长度为1~MAX
static int [] Add;//定义为区间长度的四倍
static int [] A;//存原数组的数据
static long [] sum;
static StreamTokenizer scan = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
public static void main(String[] args) throws IOException {
int n,m;
MAX=read();
m=read();
Add=new int[MAX<<2];
sum=