
线段树
风声sp
这个人很懒,还没想到说点啥
展开
-
P1972 [SDOI2009]HH的项链
研究别人思路做出来的,本篇博客已注明转载树状数组/线段树均可过首先算出所有的数第一次出现的位置,维护一个tree数组,将这些位置修改为1 计算一个nex数组,表示当前下标的数,下一次出现的位置 离线求解,将所有询问区间按左端点排序 用一个指针 l 指向左端点之前的位置,对左端点之前的每一个位置的数,都修改他的nex值为1 由于左端点升序排列,因此当前的 l 由上一次的 l 递增而...转载 2019-03-03 09:53:59 · 179 阅读 · 0 评论 -
P1198 [JSOI2008]最大数
简单的线段树模拟,首先统计最终有多少数,建好线段树之后,相当于做修改查询操作,注意到查询操作查询的区间为(len - L + 1, len) len 为当前数列的长度代码如下:#include <bits/stdc++.h>using namespace std;typedef long long LL;const int maxn = 1e6 + 10;str...原创 2019-03-03 15:30:19 · 163 阅读 · 0 评论 -
P3373 【模板】线段树 2
线段树同时实现区间加法和乘法,因为加法乘法都涉及到了动态修改,因此我们需要两个lazy标记,我们记为add,mul,但是在pushdown的时候就会出现一个问题,乘法对之前做过的加法标记是有影响的,如果先下推加法标记,那么就忽略乘法对结果的影响,导致错误的答案 当我们需要将标记下推的时候,正确的操作应该是将当前区间的add也乘上mul,下推保证结果正确,而在添加mul标记的时候之...原创 2019-03-04 16:21:31 · 330 阅读 · 0 评论 -
P2023 [AHOI2009]维护序列
线段树同时维护加法乘法的模版题详情见传送门https://blog.youkuaiyun.com/CCCCTong/article/details/88122065原创 2019-03-04 16:30:37 · 244 阅读 · 0 评论