随笔分类 - 线段树
摘要:1. 求区间最大子段和: -6 3 5 -1 2 -2,这个数组最大子段和是3 5 -1 2。 操作类型:1e5次查询区间最大子段和。 方法: 每段区间维护4个值,区间最大子段和,左端点为l的区间最大子段和,右端点为r的区间最大子段和, 区间sum和。 pushup: A. 区间最大和 = max
阅读全文
摘要:这里找到相应的分类的博客(DIY完了博客,但设置分类不会啊。逃~)
阅读全文
摘要:题意:在树上操作,每次将两点路径值全变负和单点修改。每次求两点间路径的最大值。 思路: 边权转点权的话,每次把一条边的儿子点作为该边的权值。想起来挺好想,很容易出问题。 查询修改的话,要将多算的那条lca去掉就可以了。剩下的就是板子。 总结: 去掉lca,只需要判断top[x]==top[y]时,x
阅读全文
摘要:题意:区间修改树上两点间的颜色种类,区间查询树上两点间的线段数。 思路:树刨+线段树,区间合并是第一次写。思路为线段树维护左端点和右端点的颜色,合并时相同就–。具体实现不太好写。 代码: #include <bits/stdc++.h> using namespace std; #define ll
阅读全文

浙公网安备 33010602011771号