AcWing 1270 数列区间最大值 题解(线段树)
发布时间
阅读量:
阅读量
在编写代码过程中,应适当扩大设定的数值范围,以防止出现数据异常偏大的情况,建议直接采用long long类型进行计算操作
原题
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 10;
const int INF = 0x3f3f3f3f3f;
int n, m;
struct Node{
int l, r;
int maxn;
}tr[N * 4];
int w[N];
void push_up(int u){
tr[u].maxn = max(tr[u << 1].maxn, tr[u << 1 | 1].maxn);
}
void build(int u, int l, int r){
//此时tr[]还没哟值,所以不能用于判断
if(l == r) tr[u] = {l, r, w[r]};
else{
tr[u] =
全部评论 (0)
还没有任何评论哟~
