- 博客(5)
- 收藏
- 关注
原创 洛谷 P3313 [SDOI2014]旅行(树链剖分+线段树)
传送门这题是求固定路径上某固定宗教的评级最大值或和,由于我们知道树上路径是顺着链走的,我们可以用树链剖分使一条链上的编号连续,方便查询。每个宗教建一棵线段树,动态开点,编号按树链剖分后的新编号,维护的是城市评价。 那么改变评级就相当于改变某线段树内的值,改变宗教就相当于换根(移到另一棵线段树内)。求值时按链往上跳,统计答案。Code:#include<cst...
2018-07-12 09:31:48 249
原创 洛谷 P3157 [CQOI2011]动态逆序对(主席树+树状数组)
传送门做这题前请先学动态第k小,这里blog。首先我们有 对于序列A,它的逆序对数定义为满足i&amp;lt;j,且Ai&amp;gt;Aj的数对(i,j)的个数。那么第一次输出时直接输出序列的逆序对个数,然后问题就转化为删去某个元素时删去的逆序对数。若删去元素的位置为x,它产生的贡献就是原序列中区间[1,x-1]中大于x的数的个数与区间[x+1,n]中小于x的数的个数加上前面删去的...
2018-07-11 14:55:37 397
原创 洛谷 P2468 [SDOI2010]粟粟的书架(主席树+二分)
传送门首先我们知道,这题数据有两部分: 对于50%的数据,满足R, C≤200,M≤200,000; 另有50%的数据,满足R=1,C≤500,000,M≤20,000;对于前50%的数据,我们可以直接二分取书的页数下界解决。 于是我们定义to[i][j][k]表示矩阵[1,1]至矩阵[i,j]中所有不小于k的数的总和,num[i][j][k]为它们的个数。 于是...
2018-07-11 11:43:22 287
原创 洛谷 P2617 Dynamic Rankings(树状数组+主席树)
传送门动态区间第k小主要需要学习两种算法,一种是树状数组,另一种是主席树。也就是树状数组套主席树,可以去我以前的blog里看。在树状数组里,一个点x维护的是区间[x-lowbit(x)+1,x]的信息,而第x棵主席树维护的是区间[1,x]的信息,若是按原来的前缀和主席树修改会很麻烦,于是我们把它们套一套得到:第x棵主席树维护的是区间[x-lowbit(x)+1,x]的信息。而我们在...
2018-07-10 10:34:59 329
原创 洛谷 P3834 可持久化线段树 1(主席树)
传送门主席树模板,求静态区间第k小。 据说主席树又叫可持久化线段树,因此它肯定跟线段树很有关系。 我们用n棵线段树来维护,第i棵线段树维护的是前1~i个元素的值。而每棵线段树上同一位置的节点维护的范围是一样的,若第i个元素的值是x,我们就在线段树里把x这个位置与管理它的节点的值都加1。因为每一棵线段树的结构都是一样的,所以我们可以合并它们。我们每次只需根据新输入的第i个值建一条链,然后...
2018-07-09 16:45:06 363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人