ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

线段树BIT操作总结

2020-03-21 11:03:47  阅读:287  来源: 互联网

标签:总结 ma 最大 子段 线段 端点 区间 BIT ndl


1. 求区间最大子段和:

-6 3 5 -1 2 -2,这个数组最大子段和是3 5 -1 2。

操作类型:1e5次查询区间最大子段和。

方法:

每段区间维护4个值,区间最大子段和,左端点为l的区间最大子段和,右端点为r的区间最大子段和, 区间sum和。

pushup:

A. 区间最大和 = max {

1. ndr.左端点为l的区间最大子段和 + ndl.右端点为r的区间最大子段和

2. ndl.区间最大子段和

3. ndr.区间最大子段和}

B.左端点为l的区间最大子段和 = max{

1. ndl.左端点为l的区间最大子段和.

2. ndl.区间sum和 + ndr.左端点为l的区间最大子段和}

C. 右端点为r的区间最大子段和  = max{

1. ndr.右端点为r的区间最大子段和.

2. ndr.区间sum和 + ndl.右端点为r的区间最大子段和}

 

2. 区间开根号

维护2个值,区间mi和区间ma。

操作:ma - ma^(1/2) == mi - mi ^ (1/2)时转换为区间减法

 

3. 偏序问题(用BIT更方便)

排序后跑

 

4. 线段树二分

n个胶水每个胶水内涵胶水量为v,一次只能带一个去粘东西,第i次花费ai胶水,因为每个胶水会过期,每次尽可能用最早开的胶水。

维护区间ma值,优先选择左儿子。

 

5.求树上子树的sum和, ma等等

dfs序处理出来,跑线段树

 

标签:总结,ma,最大,子段,线段,端点,区间,BIT,ndl
来源: https://www.cnblogs.com/AlexPanda/p/12537068.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有