码迷,mamicode.com
首页 > 其他好文 > 详细

0x40 数据结构进阶

时间:2019-07-13 17:20:38      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:http   sum   结构   iii   端点   mat   sp1   show   组成   

Can you answer these queries III

考虑子段和的三种组成方式:

  • 全在左儿子里

  • 全在右儿子里

  • 两边都有

可以想到维护一棵线段树,每个节点有四个值\(sum,lmax,rmax,dmax\)

sum为区间和,lmax为从区间左端点开始的最大子段和,rmax表示在区间右端点结束的最大子段和,dmax则表示区间最大子段和。

显然有

\(lmax=max(ls.lmax,ls.sum+rs.lmax)\)

\(rmax=max(rs.rmax,rs.sum+ls.rmax)\)

\(dmax=max(ls.dmax,rs.dmax,ls.rmax+rs.lmax)\)

0x40 数据结构进阶

标签:http   sum   结构   iii   端点   mat   sp1   show   组成   

原文地址:https://www.cnblogs.com/ilverene/p/11181345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!