此题题意很好懂: 给你N个数,Q个操作,操作有两种,‘Q a b ’是询问a~b这段数的和,‘C a b c’是把a~b这段数都加上c。 需要用到线段树的,update:成段增减,query:区间求和 介绍Lazy思想:lazy-tag思想,记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我 ...
分类:
其他好文 时间:
2019-01-26 20:57:46
阅读次数:
180
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 题意:自行读题 解题思想:线段树原更新一次只能更新一个叶子节点,并更新此叶子结点以上所有相关的点,当一个区间做相同更新时,叶子节点以上的相关节点不断更新,时间复杂度增加。为节省时间,为每个点添加懒 ...
分类:
其他好文 时间:
2019-01-23 20:29:23
阅读次数:
294
题面 "Poj" 题解 下面内容引用自"李煜东 《算法竞赛进阶指南》"(对原文略有缩减,侵删): 因为矩形的大小固定,所以矩形可以由它的任意一个顶点唯一确定。我们可以考虑把 矩形的右上角顶点放在什么位置 ,圈住的星星亮度总和最大。 所以,对于一颗星星,能够覆盖住这颗星星的右上角的位置在区间$[x,y ...
改段求点(区间更新, 单点求值) 用一个数组 d 存储目标数组 a 中相邻元素的差值, 即 i > 1 时, d[i] = a[i] - a[i - 1] ; i == 1 时, d[i] = a[i] . 那么有 a[i] = d[1] + ... + d[i] .若要将 a 数组区间 [l, r ...
分类:
编程语言 时间:
2018-12-15 21:09:56
阅读次数:
208
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 106776 Accepted Submission(s): 40096 Pr ...
分类:
其他好文 时间:
2018-11-30 21:16:39
阅读次数:
171
#1078 : 线段树的区间修改 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了小Ho: 假设货架上从左到右摆放了N种商品,并且依次标号为1到N,其中标号为i的商品 ...
分类:
其他好文 时间:
2018-11-30 20:51:47
阅读次数:
283
题目大意: 给定树的N个结点 编号为1到N 给定N-1条边的边权。 三种操作: CHANGE k w:将第 k 条边的权值改成 w。 NEGATE x y:将x到y的路径上所有边的权值乘 -1。 QUERY x y:找出x到y的路径上所有边的最大权值。 单点更新 区间更新 区间查询 由于第二个操作是 ...
分类:
其他好文 时间:
2018-11-22 02:57:16
阅读次数:
191
\sum a[k]=d[1]+d[1]+d[2]+d[1]+d[2]+d[3]+...+d[1]+d[2]+d[3]+...+d[k] ...
分类:
编程语言 时间:
2018-11-18 11:25:18
阅读次数:
243
采用扫描线的思想,其实是区间更新的题目 题解链接https://blog.csdn.net/shiqi_614/article/details/7819232 ...
分类:
其他好文 时间:
2018-11-13 20:33:31
阅读次数:
157
经典题,线段树扫描线其实类似区间更新,一般的做法是想象一根扫描线从上扫到下或者从左扫到右,本题的做法是从上扫到下 ...
分类:
其他好文 时间:
2018-11-11 01:01:38
阅读次数:
175