线段树
Max_1_
这个作者很懒,什么都没留下…
展开
-
天梯赛-堆栈(线段树)
题目点击打开链接大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有“入栈”(将新元素插入栈顶)和“出栈”(将栈顶元素的值返回并从堆栈中将其删除)。现请你实现一种特殊的堆栈,它多了一种操作叫“查中值”,即返回堆栈中所有元素的中值。对于N个元素,若N是偶数,则中值定义为第N/2个最小元;若N是奇数,则中值定义为第(N+1)/2个最小元。输入格式:输入第一行给出正整数N(<= 105)。随...原创 2018-03-17 13:36:21 · 147 阅读 · 0 评论 -
线段树应用之区间问题模板题总结
线段树是一种形状类似二叉树的的树形数据结构,可用来快速修改和维护区间的信息。将区间[1,n]分成若干个区间,对分好的每个区间[L,R]又可分解成若干个子区间,通过对这些子区间的修改和维护统计,来快速实现对区间[L,R]的统计和修改,时间复杂度为O(logn)一,区间求和 用线段树维护每个子区间的总和,可实现对区间总和的快速修改和统计 1.单点修改(hdoj11...原创 2018-04-25 17:47:09 · 221 阅读 · 0 评论 -
hdoj6318
比赛时摸了半天,不知道什么时候取得最小值,后来发现如果y<x,则不断通过交换相邻的两个逆序数,就能取得最小值,而总的交换次数刚好为逆序数对的个数。。所以直接求逆序数对数判断x,y就好了 线段树 #include<iostream> #include<stdio.h> #include<string.h> #includ...原创 2018-07-25 21:51:01 · 130 阅读 · 0 评论 -
uva11235 frequent values (区间最大出现频数)
题目大意:长度为n的非递减序列(ai<=aj,i<j),m次询问,询问[l,r]间出现次数最多的数所对应的次数(n,m<=100000) 思路分析:一开始用莫队+set的算法,但复杂度为m*sqrt(n)*log(n),果断给T掉了。。。。由于序列为非递减的,相同 的元素会连续出现,即每次询问为最长相同元素子序列的长度。可用线段树维护最长连...原创 2018-08-21 01:04:20 · 182 阅读 · 0 评论