线段树
文章平均质量分 61
愈努力俞幸运
这个作者很懒,什么都没留下…
展开
-
线段树i hate it
I Hate ItTime Limit : 9000/3000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 70 Accepted Submission(s) : 24Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问原创 2017-09-07 22:12:37 · 162 阅读 · 0 评论 -
poj2528 区间覆盖
POJ 2528 Mayor's posters区间覆盖,问最后看到的区间有几个。首先区间端点非常大,所以需要对区间离散化。对区间的离散化,不像以前的对点的离散化(即只要保证相对大小即可),(比如1 10 1 4 7 10这三个区间,按照对点的离散化,保持相对大小,就变成1 4 1 2 3 4,那么结果是2,实际上结果是3)。所以对区间的离散化,需要这样操作,就是让本来不相邻的数继续保持不相邻...原创 2018-08-31 23:02:48 · 140 阅读 · 0 评论 -
包装的线段树--HDU 2795 Billboard
BillboardTime Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionAt the entrance to the university, there is a huge rectangular billboard of size h...原创 2018-08-28 09:08:13 · 157 阅读 · 0 评论 -
POJ 2886 Who Gets the MostCandies
POJ 2886 Who Gets the MostCandies?(线段树+模拟+求数的约数个数)http://poj.org/problem?id=2886题意: n个孩子按顺时针排列,每个人手上都有一张牌,牌上有一个数字,从第k个孩子开始出队,出队的孩子卡上数字是val,则从他开始顺时针第val人是下一个出队的,负数则逆时针数那个第val个人,第P个出队的会得到的糖果数是p的因子个数...原创 2018-08-30 21:37:42 · 176 阅读 · 0 评论 -
线段树区间合并--询问某段区间内最长连续上升子序列即最长上升子串
链接:https://www.nowcoder.com/acm/contest/158/B来源:牛客网 最长区间时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给你一个长度为 n 的序列 a ,求最长的连续的严格上升区间的长度。同时会进行 m 次修改,给定 x , y ,...原创 2018-08-27 09:44:25 · 845 阅读 · 0 评论 -
Glad You Came--带条件的线段树区间更新,区间查询(其实是单点查询)
http://acm.hdu.edu.cn/showproblem.php?pid=6356又是随机数,上一场刚打了一个随机数,赛后题解的姿势就很好,今天又遇到了随机数,不知道线段树为啥能过,我还是区间更新,有的单点更新,单点查询就过了,所以以后遇到随机数就是暴力,加点技巧的暴力。#include<bits/stdc++.h>using namespace std;typ...原创 2018-08-06 20:48:09 · 171 阅读 · 0 评论 -
多校训练 Naive Operations线段树区间更新
http://acm.hdu.edu.cn/showproblem.php?pid=6315维护ai/bi向下取整,怎么维护??a数组+1就是对应的b数组减一,b数组减到0时结果就该加1了#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=100005;int b...原创 2018-07-27 21:44:49 · 158 阅读 · 0 评论 -
hdu 1698 区间set区间查询
http://acm.hdu.edu.cn/showproblem.php?pid=1698#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=100005;struct Tree{ ll add,sum; int left,right;};Tr...原创 2018-07-27 19:18:07 · 254 阅读 · 0 评论 -
poj 3468线段树区间add区间查询
http://poj.org/problem?id=3468//#include<bits/stdc++.h>#include<cstdio>using namespace std;typedef long long ll;const int maxn=111111;struct Tree{ ll add,sum; int left,rig...原创 2018-07-27 18:11:37 · 105 阅读 · 0 评论 -
SPOJ DQUERY D-query--线段树解法
题意:求区间内不同数的个数#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=30005;const int maxq=100005;map<ll,ll>mp;struct node{ ll l,r,id;};node q[maxq];...原创 2018-07-20 15:13:49 · 208 阅读 · 0 评论 -
hdu 3333 Turing Tree 求区间内不同数的和——线段树解法
http://acm.hdu.edu.cn/showproblem.php?pid=3333题意:求区间内不同数的和#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=30005;const int maxq=100005;map<ll,ll>mp;...原创 2018-07-20 15:10:46 · 198 阅读 · 0 评论 -
Gorgeous Sequence线段树区间跟新
http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?pid=1018&ojid=0&cid=12578&hide=0题意:三种操作 0 l r t,[l,r]的a[i]换成 min(a[i],t),1 l r查询区间最大值,2 l r查询区间的和。此题的懒惰标记是用最大值。se表示严格次大值,num表...原创 2018-07-17 21:12:45 · 142 阅读 · 0 评论 -
RMQ with Shifts
点击打开链接题意:输入n,q,输入n个数,q个查询 query(l,r)查询[l,r]区间的最小的 shift(i1,i2,i3,···,ik) 把i1位置的数改成a[i2], a[i1]与a[i2]互换数值; 把i2位置上的数改成a[i3]; a[i2]与a[i3]互换数值思路:裸线段树,竟然wa5次,错在了,update(1,b[k],a[b...原创 2018-06-16 00:38:01 · 153 阅读 · 0 评论 -
线段树
区间查询:询问某些区间的某些性质(极值、求和等);区间更新:某些操作影响了某段区间(统一加一个数等);三个问题:更新点,查询区间;更新区间,查询点;更新区间,查询区间;时间空间复杂度O(log2N);线段树的本质是二叉树,不同于其他的二叉树,线段树的每个节点存储的是一段区间、记录的是这个区间的信息。对于长度为5的数组a[1]~a[5] ...原创 2018-06-01 00:58:55 · 378 阅读 · 0 评论 -
Frequent values
点击打开链接题意:给你一段不下降的序列,q个询问,问[l,r]区间内连续出现次数最多的那个数的次数。思路: 题意很像线段树,考虑用线段树怎么才能计算某个区间 连续出现次数最多的数呢?因为连续出现次数最多的数可能既不在它的左儿子也不在他的右儿子。刚好题目保证了是不减的序列,突破口就在这里,因为如果出现相同的数字,那么它们一定是连续的。所以我们只需要在普通的线段树中加上两个变量用来记录...原创 2018-06-21 22:00:17 · 351 阅读 · 0 评论 -
Just a Hook
Just a HookTime Limit : 4000/2000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 67 Accepted Submission(s) : 28Problem DescriptionIn the game of DotA, Pudge’s原创 2017-09-21 20:55:46 · 204 阅读 · 0 评论 -
Billboard
BillboardTime Limit : 20000/8000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 37 Accepted Submission(s) : 17Problem DescriptionAt the entrance to the univer原创 2017-09-21 00:11:18 · 207 阅读 · 0 评论 -
线段树知识点
线段树解决的主要问题:1 单点更新,区间查询 2 区间更新,单点查询 3 区间更新,区间查询线段树的本质是一棵二叉树,线段树的每一个节点记录的是一段区间的信息。e.g. 对于长度为5的数组a[1]~a[5] [1,5] [1,3] [4,5]原创 2017-09-07 22:31:18 · 152 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛
https://nanti.jisuanke.com/t/30996During tea-drinking, princess, amongst other things, asked why has such a good-natured and cute Dragon imprisoned Lpl in the Castle? Dragon smiled enigmatically and...原创 2018-09-02 21:38:07 · 187 阅读 · 0 评论