• 2024-10-04扶苏的问题
    利用Splay进行序列操作时,将数组坐标整体平移1,给0留出空间,并在操作过程中始终保持0号节点的特性用#define语句和struct的构造函数简化编程复杂度对名字空间(namespace)有了更深刻的理解Splay的常数较大,难以通过1e6规模的数据在建树时,根据Splay的特性,直接建出一条只有右儿子的
  • 2024-09-23扶苏的问题
    扶苏的问题题目描述给定一个长度为$n$的序列$a$,要求支持如下三个操作:给定区间$[l,r]$,将区间内每个数都修改为$x$。给定区间$[l,r]$,将区间内每个数都加上$x$。给定区间$[l,r]$,求区间内的最大值。输入格式第一行是两个整数,依次表示序列的长度$n$和操作的个数
  • 2024-07-14lgP1253 扶苏的问题
    给定长度为n的序列A,有如下3种操作:1lrx,将区间[l,r]中的每个数都修改为x。2lrx,将区间[l,r]中的每个数都加上x。3lr,查询区间[l,r]内的最大值。分析:设置2个懒标记,先处理赋值标记,再处理增加标记。#include<bits/stdc++.h>usingllong=longlong;constllonginf=
  • 2024-06-02《扶苏的问题》题解
    《扶苏的问题》题解原题传送门:P1253扶苏的问题PS:请先阅读完题面,在继续观看题意概述:​ 对于给定的数列\({a_1,a_2,a_3……a_n}\),进行以下三个操作:​ 1.change 将区间\([L,R]\)的值修改为\(X\);​ 2.add 将区间\([L,R]\)的值加上为\(D\);​ 3.query 查询区间\([
  • 2023-10-23P1253 扶苏的问题
    \(P1253\)一、题目描述给定一个长度为\(n\)的序列\(a\),要求支持如下三个操作:给定区间\([l,r]\),将区间内每个数都修改为\(x\)。给定区间\([l,r]\),将区间内每个数都加上\(x\)。给定区间\([l,r]\),求区间内的最大值。输入格式第一行是两个整数,依次表示序列的长度\(n\)和操
  • 2023-08-29P1253 扶苏的问题
    \(P1253\)扶苏的问题一、题目描述给定一个长度为\(n\)的序列\(a\),要求支持如下三个操作:给定区间\([l,r]\),将区间内每个数都修改为\(x\)。给定区间\([l,r]\),将区间内每个数都加上\(x\)。给定区间\([l,r]\),求区间内的最大值。输入格式第一行是两个整数,依次表示
  • 2023-07-20P1253 扶苏的问题
    link非常直白的线段树题目要注意负数的问题以及吮吸#include<iostream>#include<cstring>#include<cstdio>#defineintlonglongusingnamespacestd;inttree[8000002];intlazyre[8000002];intlazyad[8000002];intn,q;intop;intminn;intx,y,z;voidpushdow