线段树
dy0607
Keep on coding
展开
-
POJ 3145 线段树
题意: 一个初始为空的序列,两种操作: 1)A x:将x加入序列尾 2)B x :查询序列中的一个数A[i], 使 A[i] mod p最小的情况下, i最大, 输出i思路: 用线段树维护数值区间内的最小的数是多少。 1)对于较小的p可以直接暴力,由于数据较水可过。不过其实可以离线处理询问,对于较小的p每加一个数就更新其答案,p相同原创 2016-12-14 20:40:01 · 308 阅读 · 2 评论 -
UOJ164 V 线段树历史查询
题目:第一行两个数:n,m。接下来一行 n 个数,第 i个数表示初始时第i个水箱内有ai m3的水。接下来 m 行中,第 i行第一个数ti表示操作类型:若 ti=1,则接下来三个整数li,ri,xi,表示打开编号在[li,ri]中的所有水箱的上方接口xixi 秒。若 ti=2,则接下来三个整数li,ri,xi,表示打开编号在[li,ri]中的所有水箱的下方接口xixi 秒。若 ti=3,则接下来三个原创 2017-01-15 20:46:41 · 659 阅读 · 1 评论 -
SDOI 2011 染色 树链剖分
题意:给定一棵有n个节点的无根树和m个操作,操作有2类:1)将节点a到节点b路径上所有点都染成颜色c; 2)询问节点a到节点n路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。n, m <= 100000思路:树的形态没有改变,用树链剖分维护即可。在线段树上维护区间内的颜色前缀,后缀以及颜色段数构成一个三元组(pre,suf,tot),则原创 2017-01-18 19:28:16 · 250 阅读 · 0 评论