板子
调试了大半天,终于切掉了,写写感悟与代码思路,加深理解。
P6242 线段树3
https://www.luogu.com.cn/problem/P6242
大致题意:维护一个数组, 支持一下五种操作:
- 区间加减
- 区间抹平(使所有大于
v的数变成v) 即进行min操作 - 区间求和
- 区间最值
- 区间历史最值
整道题的重难点在于两个:
1.如何将区间抹平,并将其与区间最值联系起来(高效率操作)
2.如何求取历史区间最值
解决方法在于各种懒标记的运用(吉如一老师的论文,有兴趣可以去看看)
记得开long long!记得开long long!记得开long long!(为了这个long long调了一个多钟)
鉴于是个人整理文,直接在代码中添加注释,有疑惑之处欢迎交流
// Problem:
// P6242 【模板】线段树 3(区间最值操作、区间历史最值)
//
// Contest: Luog

本文讲述了作者在解决P6242线段树问题中的心得,重点讲解了如何高效地进行区间抹平操作以及维护区间历史最值,通过使用懒标记优化,同时强调了在代码中正确使用longlong数据类型的重要性。
最低0.47元/天 解锁文章





