_作者:zifeiy_ _标签:线段树_ HDU1698 Just a Hook 题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=1698" 线段树功能: update:成段更新(因为query操作只涉及一次总区间,所以可以直接输出1节点的信息) P ...
分类:
其他好文 时间:
2019-10-16 20:09:44
阅读次数:
69
题目链接:https://vjudge.net/problem/HDU-1698 题目大意: 给定一个 N 个数的序列,初始全为1,现在进行Q次操作,每次操作把 [L, R] 区间内的所有数变为 x,求操作完成后序列的总和。 分析: 线段树成段更新模板题。 代码如下: 1 #pragma GCC o ...
分类:
其他好文 时间:
2019-05-02 18:52:53
阅读次数:
114
博客: 模板: 成段更新: #include <cstdio> #include <algorithm> using namespace std; #define LL long long #define lson l , m , rt << 1 #define rson m + 1 , r , r ...
分类:
其他好文 时间:
2018-11-13 00:01:03
阅读次数:
226
思路: 线段树每个节点维护第一条线段起点指向最后一条线段终点的向量,于是每一个操作都是一次区间更新。使用成段更新的线段树即可。实现: ...
分类:
其他好文 时间:
2018-03-02 23:09:56
阅读次数:
214
成段更新: #include <cstdio> #include <algorithm> using namespace std; #define LL long long #define lson l , m , rt << 1 #define rson m + 1 , r , rt << 1 | ...
分类:
其他好文 时间:
2017-12-24 12:54:45
阅读次数:
159
成段更新 需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候 这题算的是总价值,直接把根节点输出就好了 ...
分类:
其他好文 时间:
2017-12-16 23:08:58
阅读次数:
198
成段更新 这题数据很大,数组开不下,要离散化,把输入的区间离散化,映射到相应的小区间,就可以了。离散的时候注意,这是区间离散后会出现些问题,所以离散时将区间差大于1 的数后面插入一个数,保证离散正确化,离散的方法,排序,去重,在二分查找,将对应的数组索引作为新的端点。 这里,标记=0表示没有贴,标记 ...
分类:
其他好文 时间:
2017-12-16 23:06:41
阅读次数:
155
成段更新 这题数据很大,注意要__int64 。 其他差不多, ...
分类:
其他好文 时间:
2017-12-16 23:05:53
阅读次数:
168
线段树功能 update:成段更新 query:区间求和 ...
分类:
其他好文 时间:
2017-08-23 16:21:50
阅读次数:
136
线段树功能:update:成段替换 成段更新去要用到延迟标记,具体调试代码就容易懂些 ...
分类:
其他好文 时间:
2017-08-23 16:21:18
阅读次数:
204