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
HNOI2012
BZOJ-2729: [
HNOI2012
]排队(排列组合+高精度乘法)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2729裸的排列组合,用插空法,先加男生,再加老师,再加女生,易得答案:Ans(n,m)=A(n,n)[A(2,n+1)A(m,n+3)+A(1,n+1)A(2,2)A(1,m)A(m-1,n+2)]化简:Ans(n,m)=n!(n+1)[(n-m+4)(n-m+5)...(n+2)][(n+3)
AmadeusChan
·
2023-12-15 18:04
luoguP3224 [
HNOI2012
]永无乡【线段树,并查集】
洞庭青草,近中秋,更无一点风色。玉鉴琼田三万顷,着我扁舟一叶。素月分辉,明河共影,表里俱澄澈。悠然心会,妙处难与君说。应念岭表经年,孤光自照,肝胆皆冰雪。短发萧骚襟袖冷,稳泛沧溟空阔。尽挹西江,细斟北斗,万象为宾客。扣舷独啸,不知今夕何夕。权值线段树精巧飘飘有凌云之气,觉动态开点犹有尘心,巨大的
邱涵的秘密基地
·
2022-08-14 23:00
BZOJ 2730: [
HNOI2012
]矿场搭建 割点 + 乘法原理
TimeLimit:10SecMemoryLimit:128MBSubmit:2362Solved:1093Description煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置
NOIAu
·
2020-09-15 22:12
割点与桥
HNOI
hnoi2012
(bzoj2727~2734)
题目就不贴了,自己看吧。这套题每道题如果会做的话写代码的过程真是轻松加愉快……湖南人出的题似乎都是这样……真有水平……hnoi2012day1:bzoj2727双十字cross要求我们统计双十字的个数r*c10^5)一个数选择的话,相邻的四个数都不能选显然可以状态压缩动态规划复杂度不太好算……但是能很快通过我最初的想法是把这个矩阵斜着看……发现状态很多,而且转移很慢实际上这道题在matrix67的
weixinding
·
2020-09-14 21:32
[
HNOI2012
]排队
Description某中学有n名男同学,m名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)Input只有一行且为用空格隔开的两个非负整数n和m,其含义如上所述。对于30%的数据n≤100,m≤100对于100%的数据n≤2000,m≤2000Output输出文件output.txt仅包含一个
weixin_34406086
·
2020-09-14 08:37
bzoj2729: [
HNOI2012
]排队
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2729思路:简单的排列组合题A(n,n)*(A(n+1,2)*A(n+3,m)+A(m,1)*A(2,2)*A(n+1,1)*A(n+2,m-1))首先我们观察,男生无限制,先把男生排好即A(n,n)然后我们排老师,老师不能相邻,n个男生有n+1个空位如果老师被男生隔开,即有A(n+1,2)的
weixin_30772105
·
2020-09-14 07:33
P3223 [
HNOI2012
]排队
题目描述某中学有n名男同学,m名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)输入输出格式输入格式:只有一行且为用空格隔开的两个非负整数n和m,其含义如上所述。对于30%的数据n#defineilinline#definelllonglong#defineREregister#defineFo
weixin_30291791
·
2020-09-14 07:13
BZOJ_P2729[
HNOI2012
]排队&Codevs_P1994 排队(数论)
TimeLimit:10SecMemoryLimit:128MBSubmit:1362Solved:632[Submit][Status][Discuss]Description某中学有n名男同学,m名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)Input只有一行且为用空格隔开的两个非负整数
BeiYu-oi
·
2020-09-14 07:41
数论
BZOJ
Codevs
高精度
HNOI2012
排队
排列组合题(本文A(n,m)表示从n个元素里选m个的排列数)。首先,老师和女生有不能相邻的限制条件,应该用插空法。而且老师人数较少且固定,把老师和男生进行混合,对女生用插空。我先来一手错误做法,n个男生先全排列A(n,n),两个老师插空A(n+1,2),m个女生插空A(n+3,m),乘到一起。ans=A(n,n)*A(n+1,2)*A(n+3,m)。试一下1,1;差了4。为什么呢?因为我们这种考虑
bansi8227
·
2020-09-14 06:36
【BZOJ 2729】 [
HNOI2012
]排队
2729:[
HNOI2012
]排队TimeLimit:10SecMemoryLimit:128MBSubmit:1033Solved:474[Submit][Status][Discuss]Description
Regina8023
·
2020-09-14 06:09
~python水过高精度~
BZOJ 2729
HNOI2012
排队 组合数学
题目大意:给定n个男生m个女生两个老师,求有多少种排列满足任意两个女生不相邻,任意两个老师也不相邻defA(n):re=1foriinrange(1,n+1):re*=ireturnredefC(n,m):ifn
PoPoQQQ
·
2020-09-14 06:35
BZOJ
组合数学
[Luogu P3223] [BZOJ 2729] [
HNOI2012
]排队
洛谷传送门BZOJ传送门题目描述某中学有nnn名男同学,mmm名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)输入输出格式输入格式:只有一行且为用空格隔开的两个非负整数nnn和mmm,其含义如上所述。对于30%的数据n≤100,m≤100n\le100,m\le100n≤100,m≤100对于
LPA20020220
·
2020-09-14 06:45
数学
排列组合
bzoj2729: [
HNOI2012
]排队(高精度+组合数学)
题目传送门。解法:本来我想的是这样的。。。n个男生插老师。然后插女生。然后怎么算都出不来12。。。%题解。。原来还有一种叫做女生把老师隔开的东西。分情况讨论:老师之间有男生。那么就是n个男生有n+1个间隔来插老师。然后一共有n+2个人了。那么又有n+3个间隔来插女生。排列组合即可。老师之间绑一个女生。那么这个小团体可以看作一个男生因为他两边随便放什么人都行。这个团体有2*m种可能。然后一共n+1个
Hanks_o
·
2020-09-14 06:35
BZOJ
杂
数论
【BZOJ】【P2729】【
HNOI2012
】【排队】【题解】【数学】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2729ans=n!*(A(n+1,2)*A(n+3,m)+2*(n+1)*A(n+2,m-1)*m)我的高精度已经废了Code:n,m=map(int,raw_input().split())fac=[1]*2010foriinrange(1,2010):fac[i]=fac[i-1]*ide
iamzky
·
2020-09-14 05:05
OI
[
HNOI2012
][BZOJ2734] 集合选数|状态压缩动态规划|思路题
2734:[
HNOI2012
]集合选数TimeLimit:10SecMemoryLimit:128MBSubmit:708Solved:414[Submit][Status][Discuss]Description
weixin_30496751
·
2020-09-14 01:55
[BZOJ]2734 [
HNOI2012
] 集合选数 状压DP 思路神题
2734:[
HNOI2012
]集合选数TimeLimit:10SecMemoryLimit:128MBSubmit:1475Solved:876[Submit][Status][Discuss]Description
MaxMercer
·
2020-09-14 00:40
BZOJ
状压/插头/轮廓线DP
【bzoj2734】【
HNOI2012
】【状压DP】集合选数
集合选数TimeLimit:10SecMemoryLimit:128MBDescription《集合论与图论》这门课程有一道作业题,要求同学们求出{1,2,3,4,5}的所有满足以下条件的子集:若x在该子集中,则2x和3x不能在该子集中。同学们不喜欢这种具有枚举性质的题目,于是把它变成了以下问题:对于任意一个正整数n≤100000,如何求出{1,2,…,n}的满足上述约束条件的子集的个数(只需输出
anantheparty
·
2020-09-14 00:01
动态规划
bzoj
HNOI
状压DP
动态规划
oi
BZOJ2728
HNOI2012
与非(并查集+数位dp)
容易发现xnandx=notx。并且使用这个性质有xandy=not(xnandy)=(xnandy)nand(xnandy)。也就是说nand运算可以作为not和and运算使用。并且显然not和and运算可以表示nand运算,那么两者等价。事实上这就可以表示所有位运算了。那么考虑位运算有什么事干不了。注意到如果每个数的第i位都和第j位相同,那么无论怎么操作这两位都是相同的。大胆猜想这也是充分的,
bit小兵
·
2020-08-24 17:55
Luogu3220
HNOI2012
与非 数位DP
传送门题意:给出$N$个范围在$[0,2^k-1]$的整数,定义位运算$NAND$为位运算$AND$的逆运算,求$[L,R]$中有多少数能成为若干个前面给出的整数、若干括号和$NAND$运算组成的表达式的结果(每一个数在一个表达式中可以出现多次)。OI生涯第一道数位DP可以使用$NAND$表示所有基本位运算(这个可以手玩出来qwq),那么$NAND$像基本位运算一样会有一个性质:如果所有给出的整数
weixin_30586257
·
2020-08-24 10:31
【并查集套可持久化线段树】【bzoj 2733】: [
HNOI2012
]永无乡
2733:[
HNOI2012
]永无乡TimeLimit:10SecMemoryLimit:128MBSubmit:1178Solved:614[Submit][Status]Description永无乡包含
willinglive
·
2020-08-17 07:44
高级数据结构
luogu P3224 [
HNOI2012
]永无乡
背景:这道题调了近4h4h4h,脑子废了…题目传送门:https://www.luogu.org/problemnew/show/P3224题意:nnn个点,每个点一个权值两种操作。1.1.1.合并两个岛。2.2.2.询问当前联通块的权值的第kkk小值所对应的岛屿。思路:SplaySplaySplay+启发式合并。细节较多(比如fa,sizefa,sizefa,size的初值,rootrootro
zsyz_ZZY
·
2020-08-14 00:26
#
splay
#
启发式合并
【BZOJ2733】[
HNOI2012
]永无乡
题意:n个有权值的点,每次连边或查询某个点所在的连通块中权值第k大的点的编号(不存在输出-1)思路1:每个点建一个可并堆,每次连边合并两个可并堆(记录一下size),递归查询即可#include#defineinf0x7fffff#defineN3000009usingnamespacestd;intnumber=0;intn,m,q;intf[N],father[N],left[N],right
wzf_2000
·
2020-08-13 23:15
bzoj
可并堆
【平衡树】 [
HNOI2012
]永无乡
题目描述永无乡包含n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到n来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛a出发经过若干座(含0座)桥可以到达岛b,则称岛a和岛b是连通的。现在有两种操作:Bxy表示在岛x与岛y之间修建一座新桥。Qxk表示询问当前与岛x连通的所有岛中第k重要的是哪座岛,即所有与岛x连通的岛中重要度排
weixin_30950237
·
2020-08-13 21:37
[
HNOI2012
]永无乡 (pb_ds/并查集)
看了友人的pb_ds介绍就写了这道题友情链接:http://blog.csdn.net/mistilteinn/article/details/60325660用并查集维护连通性,启发式合并时暴力插入即可,相当短,比用线段树还短之所以要用这种鬼畜的写法而不用pair是因为null_type在老版本编译器中会CE,换成tree,rb_tree_tag,tree_order_statistics_no
weixin_30752377
·
2020-08-13 20:04
☆ [
HNOI2012
] 永无乡 「平衡树启发式合并」
题目类型:平衡树启发式合并传送门:>Here#include#include#include#definerread()usingnamespacestd;typedeflonglongll;constintMAXN=100010;constintINF=1061109567;inlineintMax(constinta,constintb){return(a>b)?a:b;}inlineintM
weixin_30621919
·
2020-08-13 20:39
[
HNOI2012
]永无乡——Splay
题面Bzoj2733解析同样是一道上课时讲的题,对于每个连通块都维护一个Splay,连接不同块的操作就等价于合并两棵Splay,考虑暴力合并,将较小的Splay断开,依次将每个点插入另外一棵Splay中,复杂度的话,就照搬wys的PPT了:查找点所在平衡树的根就暴力查找,一直跳父亲,均摊(应该是吧)跳log次找到根然后就变成了一道查询第k小的普通平衡树了第一道一次AC的Splay的题,终于没有写成
weixin_30600503
·
2020-08-13 20:03
2018.08.11 洛谷P3224 [
HNOI2012
]永无乡(线段树合并)
传送门给出n个带点权的点,支持连边和查询连通块第k大。这个貌似就是一道线段树合并的裸板啊。。。代码:#include#defineN100005usingnamespacestd;inlineintread(){intans=0;charch=getchar();while(!isdigit(ch))ch=getchar();while(isdigit(ch))ans=(ans>1;if(k>1;
weixin_30501857
·
2020-08-13 20:45
P3224 [
HNOI2012
]永无乡
题面一开始,每个集合只有一个岛,对于一个集合,我们建一棵线段树,当连边的时候,我们先判断一下是不是已经在一个集合,然后合并线段树,查询的时候查询所在集合的线段树即可,若\(k\)大于集合元素数,输出\(-1\)那么怎么维护集合呢?并查集啊做完了下面是代码#include#include#include#include#include#definelllonglong#definegcgetchar
weixin_30454481
·
2020-08-13 20:36
[
HNOI2012
]永无乡 题解
权值线段树+并查集对于每一个点先建立一个权值线段树,之后并查集维护/更改连通性。不知道权值线段树是啥的戳我联通就直接把祖先连起来然后合并线段树#include#includeusingnamespacestd;constintN=100005;intsize[N*20],n,m,fa[N],type,q,root[N],w[N],rev[N],ls[N*20],rs[N*20];intread()
weixin_30342827
·
2020-08-13 20:19
【
HNOI2012
】 永无乡
【题目地址】点击打开链接【分析】平衡树的启发式合并,可以证明是O(nlog2n)的。【代码】#include#include#include#include#include#include#includeusingnamespacestd;#definerep(i,a,b)for(inti=(a);i=(a);--i)#definepfprintf#defineMAXN100010structSp
ciociooo
·
2020-08-13 19:51
算法题解--数据结构
[
HNOI2012
]永无乡
[
HNOI2012
]永无乡题目描述:永无乡包含n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到n来表示。
Edwin_VanCleef
·
2020-08-13 17:36
Luogu P3224 [
HNOI2012
]永无乡
题目大意给出若干个点集,每个点带点权。你需要完成qqq个操作。合并点uuu,vvv所在的点集。输出点uuu所在的点集中点权第kkk大的点的编号。数据范围1⩽n⩽100000,1⩽q⩽3000001\leqslantn\leqslant100000,1\leqslantq\leqslant3000001⩽n⩽100000,1⩽q⩽300000题解求第k大,考虑权值线段树/Splay。考虑到需要合并,
linjiayang2016
·
2020-08-13 15:07
Splay
启发式合并
[BZOJ2733][
HNOI2012
永无乡][线段树合并+并查集]
[BZOJ2733][
HNOI2012
永无乡]题目大意:有一些岛屿,一开始由一些无向边连接。
g1n0st
·
2020-08-13 14:21
Bzoj
2017
线段树
线段树合并
并查集
【启发式合并】线段树,平衡树
平衡树启发式合并就是一种复杂度可以证明的贪心合并平衡树启发式合并:对于平衡树的启发式合并,我们将一个$size$较小平衡树一个一个结点暴力加入$size$较大的平衡树中最坏时间复杂度是玄学的$O(Nlog^{2}N)$空间复杂度$O(N)$模板题:P3224[
HNOI2012
dongchouzhou1607
·
2020-08-13 13:32
[
HNOI2012
] 永无乡 题解
题意:n个点,有加边操作,询问与某一点处于相同的联通块的点中权值第k大的点思路:对所有点建立一棵权值线段树,加边就配合并查集进行线段树合并反思:动态开点,权值线段树要用sum[g[x=find(x)]](还是不够熟练),g为根。代码:1#include2constintM=100005,N=5500000;3intsz,a[M],p[M],g[M],id[M],lc[N],rc[N],sum[N]
diyaochang9767
·
2020-08-13 13:26
luogu3224 [
HNOI2012
]永无乡
线段树合并好写好调,隔壁老王的treap+启发式合并难写难调#include#includeusingnamespacestd;intn,m,fa[100005],val[100005],rot[100005],uu,vv,fan[100005],cnt;intlson[5000005],rson[5000005],sum[5000005];charss[5];intmyfind(intx){re
dianjiaxian1205
·
2020-08-13 13:12
2733: [
HNOI2012
]永无乡
题目链接题目大意:有n个点,初始时有一些边。每次操作要么加一条边,要么询问一个点所在联通块数值第k大的点。题解:并查集+权值线段树合并我的收获:线段树合并#include#include#includeusingnamespacestd;constintM=100005;constintTM=2000005;intn,m,cnt;intf[M],a[M],id[M];introot[M],sum[
Mmh2000
·
2020-08-13 12:24
2501-2750
[
HNOI2012
]永无乡——[splay合并]
【题目描述】永无乡包含n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到n来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛a出发经过若干座(含0座)桥可以到达岛b,则称岛a和岛b是连通的。现在有两种操作:Bxy表示在岛x与岛y之间修建一座新桥。Qxk表示询问当前与岛x连通的所有岛中第k重要的是哪座岛,即所有与岛x连通的岛中重要
KajKeusaka
·
2020-08-13 12:18
Splay
启发式合并
平衡树
bzoj2733: [
HNOI2012
]永无乡(并查集+主席树)
题目传送门。解法:跟3545解法差不多。https://blog.csdn.net/hanks_o/article/details/79903342这道题还没了边权。直接连通。那么并查集。据说要启发式。小的向大的合并。然后就没了?代码实现:#include#include#include#include#include#include#includeusingnamespacestd;struct
Hanks_o
·
2020-08-13 11:05
BZOJ
主席树
并查集
bzoj2733 [
HNOI2012
]永无乡(splay启发式合并)
bzoj2733[
HNOI2012
]永无乡原题地址:http://www.lydsy.com/JudgeOnline/problem.php?
Bfk_
·
2020-08-13 11:07
&
图论
平衡树
splay
启发式合并
题解
bzoj2733【
hnoi2012
】永无乡
2733:[
HNOI2012
]永无乡TimeLimit:10SecMemoryLimit:128MBSubmit:1728Solved:907[Submit][Status][Discuss]Description
AaronPolaris
·
2020-08-13 11:21
启发式合并
并查集
Treap
OIer的狂欢
2733: [
HNOI2012
]永无乡 - BZOJ
Description永无乡包含n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到n来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛a出发经过若干座(含0座)桥可以到达岛b,则称岛a和岛b是连通的。现在有两种操作:Bxy表示在岛x与岛y之间修建一座新桥。Qxk表示询问当前与岛x连通的所有岛中第k重要的是哪座岛,即所有与岛x连通
weixin_30873847
·
2020-08-13 11:35
BZOJ2773(
HNOI2012
)[永无乡]--Splay启发式合并
【链接】bzoj2733【解题报告】好像是平衡树裸题吧,然后splay启发式合并码掉了。#include#includeusingnamespacestd;constintmaxn=100005;intn,m,Q,w[maxn],c[maxn],fa[maxn];structSplay{Splay*son[2];intx,s,p;Splay(inta=0,intb=0,Splay*t=NULL){
Greninja_Wu
·
2020-08-11 11:44
BZOJ题解
平衡树
BZOJ题解
By
Greninja
部分常见刷题网站的题解
By
Greninja
平衡树
BZOJ
启发式合并
bzoj2728 [
HNOI2012
]与非(并查集+数位dp)
题目链接分析:看一下括号里的算法,就感到深深的绝望。。。首先我们要找到NAND的一些性质:!a=aNANDaa&b=!(aNANDb)有了&和!,其余的位运算就都可以表示了也就是说:NAND可以代替所有的位运算那么这样就能表示所有的数了吗?不然NAND还有一个重要的性质:如果a[1]~a[n]所有数的第i位和第j位相同,那么nand出来的数第i位和第j位也相同我们用并查集处理出有哪些位是一样的现在
Coco_T_
·
2020-08-11 01:35
dp
并查集
省选
【bzoj2729】[
HNOI2012
]排队 组合数学+高精度
题目描述某中学有n名男同学,m名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)输入只有一行且为用空格隔开的两个非负整数n和m,其含义如上所述。对于30%的数据n≤100,m≤100对于100%的数据n≤2000,m≤2000输出输出文件output.txt仅包含一个非负整数,表示不同的排法个数
weixin_30508309
·
2020-08-10 22:53
[BZOJ2730]
HNOI2012
矿场搭建|割点
首先最少数量显然大于1,那么考虑炸掉一个点,如果它不是割点并没有什么影响,如果是割点的话必须要满足炸开之后的每个联通块都有至少一个救援点。如果这个图没有割点的话选两个点放就行了,答案是C(n,2),否则求出每一个割点,把这个图按割点分割成若干个联通块,把这些联通块缩点就是一个树结构,要使树上任何一条边断掉之后分成的两块都有救援点,就一定要在每一个叶子块上放一个救援点。把所有叶子块的size乘起
Tag_king
·
2020-08-08 13:30
BZOJ
bzoj 2730: [
HNOI2012
]矿场搭建
Solution先tarjantarjantarjan求点双。对于每一个连通块,如果其中没有割点,则说明需要在其中建立两个出口;只有一个割点,那么就需要在非割点处选一个建立出口;如果有大于等于两个割点,则不需要建立出口Code#include#include#include#include#includeusingnamespacestd;#defineN1010#definelllonglong
sunshiness_s
·
2020-08-07 18:48
tarjan
点双
BZOJ 2731 Luogu P3219 [
HNOI2012
]三角形覆盖问题 (扫描线)
题目链接:(bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=2731(luogu)https://www.luogu.org/problemnew/show/P3219题解:先讲一种复杂度明显不对但是本题数据跑得很快的做法:先按底边\(y\)坐标排序,从下往上扫,每扫到一行链表维护当前的所有区间,另外再开个数组记录每个横坐标被覆盖的次数。
suncongbo
·
2020-08-07 18:42
微积分基础知识
微积分基础知识前言:在信息学算法竞赛中,常有些数学类问题需用到微积分,或用到微积分的算法(如母函数,
HNOI2012
排队),这里本人总结了一下竞赛中常用的微积分基础知识,供大家参考,有写得不好的地方请多多包涵
csyzcyj
·
2020-08-01 09:59
竞赛数学
BZOJ2733 [
HNOI2012
]永无乡 平衡树启发式合并
首先因为题目中涉及到查询第K小值,所以用平衡树来维护每个连通分支的信息。那么加边这个操作怎么实现呢?其实就是将任意的两个平衡树合并。给我们的直观感受是把小的树合并到大的树里比较高效。事实上,这样做的话,所有合并操作可以在O(nlog^2n)之内解决。为什么呢?可以这样来分析。每个节点经过一次合并操作以后,它所在的树的大小至少要加倍,那么也就是说至多一个节点被合并操作影响logn次,每次合并后的插入
KuribohG
·
2020-07-31 14:50
BZOJ
上一页
1
2
3
下一页
按字母分类:
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
其他