Sgt 模板代码
struct Sgt{
int lazyTag;
int val;
}t[maxn];
void pushUp(int x, int l, int r){
t[x].val = t[x].lazyTag * (r - l + 1) + t[x * 2].val + t[x * 2 + 1].val;
}
void pushDown(int x, int l, int r){
int mid = l + r >> 1;
t[x * 2].lazyTag += t[x].lazyTag;
t[x * 2 + 1].lazyTag += t[x].lazyTag;
t[x * 2].val += t[x].lazyTag * (mid - l + 1);
t[x * 2 + 1].val += t[x].lazyTag * (r - mid);
t[x].lazyTag = 0;
}
void Build(int x, int l, int r){
if (l == r){
t[x].val = 0;
t[x].lazyTag = 0;
return ;
}
t[x].lazyTag = 0;
int mid = l + r >> 1;
Build(x * 2, l, mid);
Build(x * 2 + 1, mid + 1, r);
pushUp(x, l, r);
}
void update(int x, int l, int r, int L, int R, int k){
if (L <= l && r <= R){
t[x].lazyTag += k;
t[x].val += k * (r - l + 1);
return ;
}
int mid = l + r >> 1;
if (L <= mid) update(x * 2, l, mid, L, R, k);
if (mid < R) update(x * 2 + 1, mid + 1, r, L, R, k);
pushUp(x, l, r);
}
int query(int x, int l, int r, int L, int R){
if (L <= l && r <= R){
return t[x].val;
}
pushDown(x, l, r);
int mid = l + r >> 1;
int res = 0;
if (L <= mid) res += query(x * 2, l, mid, L, R);
if (mid < R) res += query(x * 2 + 1, mid + 1, r, L, R);
return res;
}
Sgt 模板代码的更多相关文章
- inputstream和outputstream读写数据模板代码
//读写数据模板代码 byte buffer[] = new byte[1024]; int len=0; while((len=in.read(buffer))>0){ out.write(b ...
- eclipse 中 Servlet 模板代码(其实是代码提示模板)
说的是模板代码,应该说的是提示的模板代码,并不是一新建就会出现模板. 第一步:先建一个Servlet文件,写好自己想要的模板 我的模板如下: 全选并复制,等会要粘贴到Servlet的提示模板中. pa ...
- 用Case类生成模板代码
将类定义为case类会生成许多模板代码,好处在于: ①会生成一个apply方法,这样就可以不用new关键字创建新的实例. ②由于case类的构造函数参数默认是val,那么构造函数参数会自动生成访问方法 ...
- django2用模板代码图标字体丢失报404 cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff
以前开发网站,不是用php就是用c#或java写后端,跟后端繁重麻烦的代码相比,前端的html+css+JavaScript简直就简单的不算技术,相比之下,工作量也不大. 但如果用django框架,使 ...
- 修改servlet的模板代码
实际开发中,这些生成的代码和注释一般我们都用不到的,每次都要手工删除这些注释和代码,很麻烦.下面以MyEclipse 2014(其实版本通用的,都可以修改)为例进行说明如何修改Servlet的模板代码 ...
- c#字符串加载wpf控件模板代码 - 简书
原文:c#字符串加载wpf控件模板代码 - 简书 ResourceManager resManagerA = new ResourceManager("cn.qssq666.Properti ...
- 在pycharm中自定义模板代码,快速输出固定代码块
pycharm中有时会经常输出固定一段代码,为避免每次重复输入,可以自定义一段模板代码,请看以下图教程: 1. 点击 file 里面的 setting 2. 在搜索框输入live,就会显示出 ...
- Flask数据库常见关系模板代码
常见关系模板代码 以下罗列了使用关系型数据库中常见关系定义模板代码 一对多 示例场景: 用户与其发布的帖子(用户表与帖子表) 角色与所属于该角色的用户(角色表与多用户表) 示例代码 class Rol ...
- flask 常见关系模板代码
以下罗列了使用关系型数据库中常见关系定义模板代码 一对多示例场景:用户与其发布的帖子(用户表与帖子表)角色与所属于该角色的用户(角色表与多用户表)示例代码class Role(db.Model): & ...
- 在C#中动态编译T4模板代码
转: http://www.wxzzz.com/1438.html 资料: https://cnsmartcodegenerator.codeplex.com/SourceControl/latest ...
随机推荐
- IDEA问题之“MyBatis插件安装【MyBatisX】”
一.场景 在SSM框架中带有XML文件的查找很是麻烦,特别是在ID命名有大量重复时 而这个插件就可以,让你直接从Service实现类中直接跳到XML中 还有些其他功能,可以探索探索 一.配置步骤 1. ...
- 马尔柯夫的"概率转换和市场份额和概率矩阵"
案例一 案例二 分析转移概率矩阵求法 分析求9月份各厂家分别拥有的市场份额 案例3 案例4 分析先算第二年,再根据第二年算第三年 问题2的解法:根据第二年市场份额算第三年的市场份额 案例5:确定平衡 ...
- ESP32 MQTT对接巴法云平台
ESP32 MQTT对接巴法云平台 MQTT(Message Queuing Telemetry Transport)是一种轻量级的 发布/订阅(Publish/Subscribe) 消息传输协议,专 ...
- 编译原理:python编译器--从AST到字节码
首先了解下从AST到生成字节码的整个过程: 编译过程 Python编译器把词法分析和语法分析叫做 "解析(Parse)", 并且放在Parser目录下. 从AST到生成 字节码的过 ...
- Number of Islands——LeetCode进阶路
原题链接https://leetcode.com/problems/number-of-islands/ 题目描述 Given a 2d grid map of '1's (land) and '0' ...
- WindowsPE文件格式入门08.导出表
https://bpsend.net/thread-377-1-1.html 通过cff , depends灯等软件可以看到dll,导出函数的信息,因为dll中本身就存了这些信息,存了dll中有哪些导 ...
- WPF 粉笔绘制
在做白板书写的时候,会有各种笔的绘制,比如 书写笔.马克笔.演示笔等等.粉笔的功能需求也是很有必要的. 上网搜了一圈,几乎没有绘制粉笔的. 有的是毛笔.楷体等绘制的如下博客: wpf inkcanva ...
- 利用Word制作Kindle用的6寸PDF电纸书
在word中以自己喜好的字体.字形和行间距等排版,完成后设置布局: 页面(纸张)大小自定义为宽X高=9cm X 12cm 页边距设为4个0.5cm 不要插入页码,占空间 另存为PDF 导入kind ...
- 【2020.11.19提高组模拟】倍数区间interval 题解
[2020.11.19提高组模拟]倍数区间interval 题解 题目描述 定义在序列\(a_1,a_2,\dots,a_n\)上的合法区间\([L,R]\)为满足\(\exists k\in [L, ...
- 对于PHP数组反转的算法的深度理解
本文由 ChatMoney团队出品 在 PHP 开发中,数组反转是一个常见的操作,它涉及到将数组的键值对或者键的顺序进行倒序排列.本文将深入探讨 PHP 数组反转的算法,并提供相应的代码示例. 一.P ...