E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
poj2104
POJ2104
K-th Number【主席树】
题意:给一段序列,还有一些询问,查询l-r中的第k大的数是什么主席树求第K大的板子,维护前缀和,然后作差二分找第k大就是#include#include#includeusingnamespacestd;constintMAXN=100010;inttot,a[MAXN],n;intvec[MAXN],idx;intc[MAXN*30],lson[MAXN*30],rson[MAXN*30];in
eeeaaaaa
·
2020-09-17 11:44
主席树
【poj2761】 Feed the dogs
Solution同
poj2104
细节可能会有相同元素。
weixin_30765319
·
2020-08-22 03:50
主席树初步
关于思路,还是用图片来展示吧:附上
poj2104
代码:#include#include#include#include#include#include#include#defineM100000+5usingnamespacestd
silentsaber~
·
2020-08-20 10:57
数据结构
主席树
线段树
hdu 4417 Super Mario(查找区间不大于h的数有多少个)(线段树+二分查找,划分树+二分查找)
算法思想:线段树+二分查找可以做,也可以套
POJ2104
(区间第k大数的模板),然后再加二分查找也可
piaocoder
·
2020-08-18 08:30
[主席树]HDOJ2665 &&
POJ2104
&& POJ2761
主席树真是神奇的物种!Orz一篇资料题意:给n、m下面有n个数(编号1到n)有m个询问,询问的是上面的数的编号在[l,r]之间第k小的数n、m的范围都是$10^5$是主席树的入门题借此来学习一下主席树主席数利用函数式线段树来维护数列,一般用来解决区间第k大问题空间时间的复杂度小于树套树(常数小)划分树也可以解决区间第k大问题,但划分树不支持修改,主席树可以(用树状数组维护)(这三道入门题都是无修改
aicheng4794
·
2020-08-17 00:41
poj 2104 可持久化线段树 区间K大 不修改
poj2104
区间k大不修改只查询模板#include#include#include#include#include#include#include#defineN240008#defineM5500000usingnamespacestd
yukun133
·
2020-08-15 16:09
POJ2104
最大矩形面积 单调栈
题目是英文的…这里简单描述一下,就是给你n个宽度1的矩形,然后连在一排,求新组成的图形中的最大矩形.单调栈维护一个高度单调递增的栈,每个新数经来的时候要是比栈顶元素小的话就弹出栈顶元素直到不能再弹为止.过程中更新答案。最后清栈更新答案.#include#include#definedntlonglongusingnamespacestd;constintmaxn=100005;dntans,h[m
MaxMercer
·
2020-08-14 04:42
POJ
栈
POJ2104
K-th Number 题解&代码
你说什么?和HDU题目一样?不不不这才不是多组数据==HDU的题解:http://blog.csdn.net/Rainbow6174/article/details/50374737其实重点在于我终于知道为什么我一直TLE了…map被卡了那个萌萌哒logn所谓STL一时爽全家火葬场,改了数组记录之后过得轻轻松松代码如下【一会去把hdu的排序也改一下重交试试#include#include#incl
Rainbow6174
·
2020-08-05 18:15
POJ
主席树
线段树
POJ刷题记录
主席树
poj2104
主席树:其实就是开了n个前缀线段树,但是每次只更新logn个节点信息,达到可以利用历史信息来求得所需答案其最简单的应用就是区间第k大以下是大致的建树过程#include#include#includeusingnamespacestd;constintN=1e5+10;structnode{intl,r,val;}tree[N*20];introot[N],cnt;inta[N],b[N],aa[
ThreeWater-
·
2020-08-01 01:20
主席树
POJ2104
区间第k大(带修改)
Description给定一个长度为N的已知序列A[i](1usingnamespacestd;#defineInc(i,L,r)for(registerinti=(L);i=(L);--i)constintN=1e4+10,Maxsiz=N*log2(N)*2;intn,m,a[N];structSplay{intp[Maxsiz],ch[Maxsiz][2];intcnt,k[Maxsiz],
DancingZ
·
2020-07-04 05:27
数据结构
splay
线段树
树状数组
主席树
【数据结构练习】 求区间第K大数的几种方法
比如HDOJ2665,
POJ2104
,SOJ3147,SOJ3010,SOJ3102(只计算一次),POJ2761(区间不包含)。
frog1902
·
2020-06-23 09:14
ACM_知识总结
数据结构7——主席树初步
我们来看一下例题
POJ2104
。题目大意就是求区
frankchenfu
·
2018-12-31 23:15
数据结构
题解
主席树模板(
POJ2104
)
离散化:对数组排完序后用unique去重,unique返回的是去重后的数组的末地址,减去第一个元素的地址就能得到去重后的数组大小,用lower_bound查找原数字在排序去重后的序列中的位序,用位序代替数字完成离散化。#include#includeusingnamespacestd;#definelsonl,m,ls[rt]#definersonm+1,r,rs[rt]typedeflonglo
Apale_7
·
2018-07-09 13:15
数据结构
POJ2104
区间第k小
题意,给你一个数字序列和一堆询问,问你[l~r]里第k小的数线段树,呸,主席树的入门板题,但是我还是学了半天QAQ先说个大暴力,对于每个询问区间,我们排序,然后找第k个数,emm,复杂度爆表然后貌似线段树可行??脑补一下,对于每个询问建一棵树,emm,貌似比暴力复杂度还高??欸,所以我们引入了主席树,主席树呢,用到了前缀和的思路,我们通过前缀和sum[l~r]=sum[1~r]-sum[1~l-1
AcerMo
·
2018-06-21 21:44
数据结构-主席树
可持久化线段树(主席树)(图文并茂详解)【
poj2104
】【区间第k大】
[pixiv]https://www.pixiv.net/member_illust.php?mode=medium&illust_id=63740442向大(hei)佬(e)实力学(di)习(tou)主席树主要用于处理区间的问题,其中区间不一定是单纯的区间,还是可以将题目中的一些信息转化一下(如操作、时间等),即需要查询区间信息的数据,还需要用线段树用的题目,就可以用主席树。以前有畏难心理,总觉
LinnBlanc
·
2017-07-20 21:48
数据结构
最详细的讲解,让你一次学会主席树
好久以前就想学习主席树这个黑科技,一直觉得很难,然后平时上课也没有什么好的时间,所以一直搁置到现在,最近遇到了一个比较简单,比较经典的问题,求区间第k小,比如
poj2104
,没有更新操作,只有查询操作,
creatorx
·
2017-07-19 19:33
主席树
可持久化
【
poj2104
】不带修改的区间第k大 主席树
【题目大意】给定一个长为N的序列,每个序列的权值为Ai.有M个询问,每个询问为(L,R,K),分别代表[L,R]的第K大的数。期中n=100000,m=5000【题解】用主席树解决,那么什么是主席树呢?首先我们先明确一下权值线段树的概念。平常我们用的线段树都是区间线段树,而权值线段树和平衡树中树的结点意义是类似的。权值线段树中(下文所说线段树均值权值线段树),每个结点记录的信息是在[l,r]区间内
chty_syq
·
2017-02-15 15:15
poj
主席树
HDU 5412 CRB and Queries (Kth number 整体二分 动态转静态)
题意:给出长度为n的数列,m次操作操作分为1xy将x位置的数改成y2xyk查询【x,y】区间内的第k小数分析:有了
POJ2104
那题的静态整体二分的基础后就非常好做了还是离线处理的方法,将所有数据读入然后再整体二分对于修改操作
Forever_wjs
·
2016-07-04 10:00
POJ2104
整体二分、树套树
题目大意:给你一串数字,然后给你两种操作:1:1lv操作一:把下标为l的点的值替换为v2:2lrk操作二:在[l,r]区间求第k大值!1.整体二分对于初始数字,变为插入操作按操作的时间顺序排列各个操作,对于修改操作拆为删除和加入操作:1删除之前插入的数字,2.加入新的数字接下来分治二分答案:对于mid,如果插入或者删除的数字=k那么答案在左边,否则答案在右边,并且更新K,k=k-这个区间去左边的数
cnyali
·
2016-06-16 16:01
程序代码
算法分享
随手记事
POJ
POJ2104
—— K-th number
1、题目大意:区间第k小,什么修改没有。。。2、分析:这个是可持久化线段树,也是主席树,解释一下,n个线段树是怎么存下的,就是每一颗线段树和前一个有logn个点不一样然后我们只需要一个线段树开logn的空间,然后其他的指针指向上一个线段树对应的地方也是可以的对吧然后。。然后就没了。。#include #include #include #include usingnamespacestd; int
qzh_1430586275
·
2016-05-18 08:00
number
poj
主席树
K-th
2104
K-th Number【
POJ2104
】——主席树
TimeLimit:20000MSMemoryLimit:65536KCaseTimeLimit:2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastr
huayunhualuo
·
2016-05-05 21:00
划分树
借助于(这儿有个传送门→)
POJ2104
的代码来说一说划分树。 划分树的每一个节点都保存将输入的N个数,且保持顺序不变,作为根节点。
MIKASA3
·
2016-04-15 11:00
算法
C语言
ACM
划分树
【
poj2104
】K-th Number 主席树
DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorderstatistics
LOI_DQS
·
2016-03-18 17:00
[
POJ2104
]K-th Number(静态主席树)
题目描述传送门题解静态主席树维护。代码#include#include#include#includeusingnamespacestd;constintmax_n=1e5+5;intval[max_n],loc[max_n],num[max_n],root[max_n];structhp{intl,r,val;}ptree[max_n*20];intn,m,x,y,z,sz,ans;inline
Clove_unique
·
2016-03-11 23:01
题解
可持久化
[
POJ2104
]K-th Number(静态主席树)
题目描述传送门题解静态主席树维护。代码#include #include #include #include usingnamespacestd; constintmax_n=1e5+5; intval[max_n],loc[max_n],num[max_n],root[max_n]; structhp{ intl,r,val; }ptree[max_n*20]; intn,m,x,y,z,s
Clove_unique
·
2016-03-11 23:00
poj
静态主席树
POJ 2104 K-th Number
POJ2104
题目大意如下:给定N(N #include #include #include usingnamespacestd; constintmaxn=100002; constintmaxn2
kornberg_fresnel
·
2016-03-10 22:00
ACM
poj
ICPC
平方分割
划分树
poj2104
hdu5249
KPITimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):616 AcceptedSubmission(s):261ProblemDescription你工作以后,KPI就是你的所有了.我开发了一个服务。取得了非常大的知名度。数十亿的请求被推到一个大管道后同
lcchuguo
·
2016-03-03 19:00
【
POJ2104
/2761】K-th Number
DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorderstatistics
DMoon
·
2016-03-02 19:00
主席树:
POJ2104
K-th Number (主席树模板题)
K-thNumberTimeLimit: 20000MS MemoryLimit: 65536KTotalSubmissions: 44952 Accepted: 14951CaseTimeLimit: 2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevio
TenderRun
·
2016-02-19 19:00
静态区间第k大(主席树)
POJ2104
为例(主席树入门题)思想:可持久化线段树,也叫作函数式线段树,也叫主席树(高大上)。
Yukizzz
·
2016-02-16 12:00
静态区间第k大(分桶法和平方分割)
POJ2104
为例思想:《挑战程序设计竞赛》中介绍的方法。分桶法:把一排物品或者平面分成桶,每个桶分别维护自己内部的信息,已达到高效计算的目的。
Yukizzz
·
2016-02-15 12:00
静态区间第k大(归并树)
POJ2104
为例思想:利用归并排序的思想:建树过程和归并排序类似,每个数列都是子树序列的合并与排序。
Yukizzz
·
2016-02-15 12:00
静态区间第k大(划分树)
POJ2104
为例【经典划分树问题】思想:利用快速排序思想,建树时将区间内的值与区间中值相比,小于则放入左子树,大于则放入右子树,如果相等则放入左子树直到放满区间一半。
Yukizzz
·
2016-02-13 22:00
poj2104
K-th Number 主席树
裸的主席树,可以见我的上一篇博客,或者见=>seter.is-programmer.com/posts/31907.htmlAC代码如下:#include #include #include #defineN100005 usingnamespacestd; intn,m,cnt,trtot,a[N],val[N],num[N],rt[N],ls[N*80],rs[N*80],sum[N
lych_cys
·
2016-02-11 17:00
主席树
poj2104
求区间第k大 可持久化线段树
poj2104
求区间第k大 可持久化线段树#include #include #include #include #include #defineREP(i,a,b)for(inti=a;i>
__560
·
2016-02-04 17:00
poj2104
求区间第k大 可持久化线段树
poj2104
求区间第k大 可持久化线段树#include #include #include #include #include #defineREP(i,a,b)for(inti=a;i>
__560
·
2016-02-04 17:00
poj2104
K-th NumberK-th Number【主席树】
链接:http://poj.org/problem?id=2104题意:给你n个小于10^9的数,m个询问。问你l到r中第k小的数是什么。分析:主席树入门题代码:#include #include #include #include #include #include #include #include #include #include #include #defineINF0x3f3f3f3f
u012483216
·
2016-01-20 13:00
poj2104
区间K大 主席树
题目poj2104DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorders
zmh964685331
·
2016-01-15 13:00
poj
poj2104
链接:点击打开链接题意:给定一个数列a1,a2,...,an和m个三元组表示的查询。对于每个查询(i,j,k),输出ai,...,aj的升序排列中的第k个数代码1:#include #include #include #include #include #include usingnamespacestd; constintSIZE=100005; intnum[SIZE]; v
stay_accept
·
2016-01-10 14:00
【POJ 2104】(K-th Number-区间第k大-主席树)
POJ2104
(K-thNumber-区间第k大-主席树)!
ALPS233
·
2015-12-15 20:00
namespace
poj
可持久化线段
静态区间第K大
POJ2104
POJ2761做法好多,主席树,划分树,离线处理(曼哈顿最小生成树?)+BST(TreaporSplayorSBT),貌似分治+BIT也可以,不过懒得搞了。以后复习模板时用得上。
nlj1999
·
2015-12-08 20:00
poj2104
主席树静态区间第k大#include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; #defineINF0x3f3f3f3f #defineinf-0x3f3f3f3f #definemem0
acm_fighting
·
2015-12-06 19:00
poj2104
K-th Number
K-thNumberTimeLimit:20000MSMemoryLimit:65536KTotalSubmissions:43988Accepted:14569CaseTimeLimit:2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaska
AaronPolaris
·
2015-12-01 23:12
划分树
OIer的狂欢
poj2104
K-th Number
K-thNumberTimeLimit: 20000MS MemoryLimit: 65536KTotalSubmissions: 43988 Accepted: 14569CaseTimeLimit: 2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevio
AaronGZK
·
2015-12-01 23:00
bzoj
poj2104
K-th Number
题目链接:http://poj.org/problem?id=2104划分树模板题,模板来自于《程序设计解题策略》#include #include #include #include usingnamespacestd; constintmaxn=100010; inttree[30][maxn]; intsorted[maxn]; inttoleft[30][maxn]; voidbuild
xaphoenix
·
2015-11-28 15:00
POJ2104
K-th Number Range Tree
又是区间第k大,这次选择这道题是为以后写线段树套平衡树铺路的。Range Tree可以理解成线段树套vector吧,相当于每个结点多存了对应区间的一个排好序的序列。画一下就会知道空间的消耗是nlogn的。然后我们只需要二分答案就可以了,二分的时候相当于是在logn个不相交的小区间里询问<=mid的有多少个,所以这里会有一个logn*logn。然后总的话我们要二分答案,所以每次询问的时间复杂度
·
2015-11-12 22:57
number
POJ2104
k-th number 划分树
又是不带修改的区间第k大,这次用的是一个不同的方法,划分树,划分树感觉上是模拟了快速排序的过程,依照pivot不断地往下划分,然后每一层多存一个toleft[i]数组,就可以知道在这一层里从0到i里有多少个被划分到了左子树,知道区间有多少个被分到左子树,就可以一路递归下去,不需要像函数式线段数一样,二分再加query,所以每次询问的复杂度也只是O(nlogn),空间复杂度的话就是O(nlogn),
·
2015-11-12 22:54
number
POJ2104
K-th number 函数式线段树
很久没打代码了,不知道为什么,昨天考岭南文化之前突然开始思考起这个问题来,这个问题据说有很多种方法,划分树什么的,不过对于我现在这种水平还是用熟悉的线段树做比较好。这到题今年8月份的时候曾经做过,那个时候是作为对函数式线段树的一个基础题来做的,那个时候不懂,看着别人的代码对拍然后摸索下来,所以到了昨天我就已经彻底忘了,因为代码不是自己写的。昨天想了很久,终于参透了它的精髓。 首先对于给出的a[1
·
2015-11-12 22:37
number
COJ1149(Shine White)
跟
POJ2104
那题一样。这里的关键是修改操作,如果每次修改后都进行排序的话,肯定挂掉,注意到我们这里每次只修改一个数,只需将修改的数排到正确的位置即可,可以使用链表实现。
·
2015-11-12 22:04
it
POJ2104
(K-th Number)
题目链接 题目大意,给定一个整数序列a[N],询问区间ai到aj之间第k大的数是多少。共m次询问,对每次询问输出结果。此题可用伴随数组处理。具体做法是在输入的时候用一个数组保存每个数的序号,我们称这个数组为伴随数组,输入完成后,对数组进行排序,但对应的序号不变(用结构体将该数及其序号绑定,然后对结构体排序)。上面这个过程可以看成是预处理,接下来,对于每个询问i,j,k,只需对排序后的数组扫描一次
·
2015-11-12 22:59
number
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他