线段树
文章平均质量分 70
KirinSB
这个作者很懒,什么都没留下…
展开
-
POJ 3468 A Simple Problem with Integers(线段树&区间更新)题解
DescriptionYou have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to a...原创 2018-05-20 00:43:18 · 209 阅读 · 0 评论 -
POJ2528 Mayor's posters(线段树&区间更新+离散化)题解
题意:给一个区间,表示这个区间贴了一张海报,后贴的会覆盖前面的,问最后能看到几张海报。思路:之前就不会离散化,先讲一下离散化:这里离散化的原理是:先把每个端点值都放到一个数组中并除重+排序,我们就得到了处理后的数组,现在我们只需要用二分查找端点值在整个数组的下标,这样就达到了离散化的目的,压缩了长度。因为这里很特殊,不能用一般的离散化去做,如果区间两端只差1,那么需要给这个区间再加一个值,这个其他...原创 2018-05-22 00:11:26 · 122 阅读 · 0 评论 -
HDU1698 Just a Hook(线段树&区间覆盖)题解
Problem DescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same l...原创 2018-05-23 12:58:00 · 252 阅读 · 0 评论 -
HDU1540 Tunnel Warfare(线段树区间维护&求最长连续区间)题解
#include<queue>#include<cstring>#include<set>#include<map>#include<stack>#include<cmath>#include<vector>#include<cstdio>#include<原创 2018-06-02 13:46:33 · 301 阅读 · 0 评论 -
POJ 2823 Sliding Window(单调队列 || 线段树)题解
题意:求每个k长度的数组的最大值和最小值思路:1.用线段树创建维护最大值和最小值,遍历询问,简单复习了一下...有点手生2.单调队列线段树:#include<cstdio>#include<algorithm>#define ll long longusing namespace std;const int N = 1e6+5;int n,k,Max[N<&...原创 2018-07-05 19:08:45 · 179 阅读 · 0 评论 -
HDU 1823 Luck and Love (二维线段树&区间最值)题解
思路:树套树,先维护x树,再维护y树,多练练应该就能懂了代码:#include<cstdio>#include<cmath>#include<cstring>#include<iostream>#include<algorithm>#define ll long longusing namespace std;const i...原创 2018-07-10 14:25:17 · 128 阅读 · 0 评论 -
HDU 4819 Mosaic (二维线段树&区间最值)题解
思路:二维线段树模板题,马克一下,以后当模板用#include<cstdio>#include<cmath>#include<cstring>#include<iostream>#include<algorithm>#define ll long longusing namespace std;const int N = 1...原创 2018-07-10 19:26:24 · 288 阅读 · 0 评论 -
HDU 6315 Naive Operations(线段树+区间维护)多校题解
题意:a数组初始全为0,b数组题目给你,有两种操作:思路:dls的思路很妙啊,我们可以将a初始化为b,加一操作改为减一,然后我们维护一个最小值,一旦最小值为0,说明至少有一个ai > bi,那么找出所有为0的给他的最终结果加上一并且重置为bi,维护一个区间和,询问时线段树求和。一开始updateMin没加判断,单个复杂度飙到nlog(n),疯狂TLE...代码:#inclu...原创 2018-07-26 10:24:14 · 185 阅读 · 0 评论 -
POJ 2886 Who Gets the Most Candies? (线段树)题解
题意:一堆小朋友围成一个圈,规定从k开始玩,每个被选中的人都有一个数字,正数代表从他左边开始数num,负数从右边数,被选中的人继续按照上述操作,直到都退出圈子,第i个退圈的人能拿到一个点数,这个点数是i的因数个数(比如第4个人拿3点)。问:谁点数最多,一样多选第一个。思路:一道好题啊,万万没想到是线段树,想要想到感觉还是有点难度的。这道题其实就是要一直维护剩余人数,但是以前没做过线段树维护剩余...原创 2018-07-22 20:59:10 · 263 阅读 · 3 评论