首页 > 其他分享 >一些可以在线段树上维护的信息和修改

一些可以在线段树上维护的信息和修改

时间:2024-07-13 22:52:12浏览次数:16  
标签:minvcnt sum times 修改 add mul 树上 线段 minv

信息

最基础的信息之一:区间和

\(sum = l.sum + r.sum\)

最基础的信息之一:区间大小

\(sz = l.sz + r.sz\)

最基础的信息之一:区间最值

\(minv = min(l.minv, r.minv)\)

普通信息:最值个数

if (l.minv < r.minv) minvcnt = l.minvcnt;
else if (r.minv < l.minv) minvcnt = r.minvcnt;
else minvcnt = l.minvcnt + r.minvcnt; // 左侧,右侧,越过分治线

普通信息:最大前缀和 maximum presegment sum

mxpresum = max(l.mxpresum, l.sum + r.mxpresum);

稍复杂信息:最大子段和 maximum subsegment sum

mxss = max({l.mxss, r.mxss, l.mxsufsum + r.mxpresum}); // 左侧,右侧,越过分治线

修改

区间加值

i.sum = i.sum + i.sz * add;
i.add = i.add + add;

区间赋值

维护 \(sum \times mul + add\) 。
可以同时维护区间乘 \((mul, 0)\)、加 \((1, add)\) 、赋值 \((0, add)\) 。
标记利用 \((x \times mul_1 + add_1) \times mul_2 + add_2 = x \times mul_1 \times mul_2 + add_1 \times mul_2 + add_2\) 维护。

i.sum = i.sum * mul + add;
i.mul = i.mul * mul;
i.add = i.add * mul + add;

区间整除/开方

利用势能

标签:minvcnt,sum,times,修改,add,mul,树上,线段,minv
From: https://www.cnblogs.com/zsxuan/p/18299628

相关文章

  • Git因换行符不一致导致反复有修改记录
    前情Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,我公司目前都是基于Git来管理项目代码。坑位最近刚刚入职一家新公司,本地环境都配好后,我gitclone代码后,只是简单的浏览了代码,发现git就有了修改记录,而且是整个文件都是被......
  • Python 修改 pip 源为国内源
    1.临时换源:#清华源pipinstallmarkdown-ihttps://pypi.tuna.tsinghua.edu.cn/simple#阿里源pipinstallmarkdown-ihttps://mirrors.aliyun.com/pypi/simple/#腾讯源pipinstallmarkdown-ihttp://mirrors.cloud.tencent.com/pypi/simple#豆瓣源pipinstallm......
  • 李超线段树
    李超线段树李超线段树发现要维护的问题十分难做,所以我们要引入李超线段树。我们发现,如果在一个区间内,一条线段的整体在另一条线段上方,那么这条线段一定更优,我们称之为最优线段。但是如果并不是这样,应该如何做呢?这里给出线段为一个区间内的最优线段的条件:线段的定义域覆盖了......
  • 在 PostgreSQL(简称 pg)数据库中,普通用户修改自己的密码可以通过 SQL 命令完成?可以
    查看权限ALTERUSERusernameWITHPASSWORD'newpassword';如果你是以普通用户身份登录,通常你只能更改自己的密码,而不能更改其他用户的密码。在PostgreSQL中,普通用户通常拥有的权限取决于他们在数据库中的角色和分配给他们的权限。数据库管理员(DBA)可以为不同的用......
  • 【原创】Transformer多输入多输出回归预测,基于Transformer多输入多输出回归预测,Matlab
    %清空环境变量warningoff%关闭报警信息closeall%关闭开启的图窗clear%清空变量clc%清空命令行%%导入数据res=xlsread('数据.xlsx');%%数据分析num_size=0.8;%训练集占数据集比例outdim=3;%最后3列为输出num_samples=size(res,1);%样......
  • 帝国CMS网站的编辑器默认会清除多余的word代码,如果要保留word格式怎么修改?
    编辑器默认会清除多余的word代码,如果要保留word格式怎么修改?答:CKeditor编辑器默认复制会清除多余word代码,如果要保留word格式可以按下面修改配置:修改/e/admin/ecmseditor/infoeditor/config.js(后台)和/e/data/ecmseditor/infoeditor/config.js(前台)文件,找到:config.toolba......
  • Docker 修改容器日志默认存储路径
    默认安装完成 docker 后,所有images及相关信息存储位置为:/var/lib/docker,比如每个容器的日志默认都会以 json-file 的格式存储于 /var/lib/docker/containers/<容器id>/<容器id>-json.log 里面。一般情况,/var目录是在根分区之下,而根分区之下的磁盘空间一般不会较大,所以在......
  • 中位数(权值线段树版)
    中位数题目描述给定一个长度为NNN的非负整数序列AAA,对于前奇数......
  • 多目标螳螂搜索算法MOMSA求解无人机三维路径规划,可以自行修改障碍物位置(MATLAB代码)
    无人机路径规划多目标优化求解是一个复杂的过程,涉及到多个目标的考量和优化算法的应用。以下是一些关键点和相关算法的概述:1.**多目标优化策略**:在无人机路径规划中,需要同时考虑多个目标,如路径长度、安全性、飞行时间和动力学约束等。优化这些目标可以帮助无人机在复杂环境中......
  • 《孤岛惊魂6》风灵月影修改器:全方位使用指南与技巧分享
    对于《孤岛惊魂6》的玩家来说,风灵月影修改器无疑是一个强大的辅助工具,它能极大地改变游戏体验,提供从无限资源到增强角色能力的各种便利。本文将详细介绍风灵月影修改器的使用方法,并分享一些高级技巧,帮助玩家掌握这一工具,享受更自由、更丰富的游戏乐趣。修改器概述风灵月影修......