自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 [bzoj3786]星系探索【欧拉序】【splay】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3786 【题解】   用splay维护欧拉序,修改相当于将一段区间移到另一个位置。子树加就是区间加,查询链的答案相当于一段前缀和,都是splay基本操作。   时间复杂度O(M∗logN)O(M∗logN)O(M*logN) 【代码】 /* - - - - - - - ...

2018-05-31 19:40:44 323

原创 [bzoj4184]shallot【线段树】【线性基】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=4184 【题解】   以时间为下标建立线段树,每个数有一个存在时间区间,挂在对应线段树节点上。询问时维护一个线性基,dfs这颗线段树,在叶节点查询。   时间复杂度O(31N∗logN)O(31N∗logN)O(31N*logN) 【代码】 /* - - - - - -...

2018-05-30 17:09:23 316

原创 [bzoj5293][Bjoi2018]求和【最近公共祖先】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=5293 【题解】   大力O(N∗K)O(N∗K)O(N*K)预处理,然后每次询问时倍增求LCA。   这能算省选题? 【代码】 # include <bits/stdc++.h> # define ll long long # define...

2018-05-30 14:54:15 306

原创 [bzoj5294][Bjoi2018]二进制【线段树】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=5294 【题解】   考虑一个二进制数什么时候重排后模3不余0,只有两种情况。   1.只存在一个1。   2.存在奇数个1且0的数量不大于1。   那么我们考虑从总方案中减去不合法的方案,在线段树中每个节点维护左(右)端第一个与第二个0/1。分情况讨论一下即可。  ...

2018-05-30 14:46:06 483

原创 [bzoj5292][Bjoi2018]治疗之雨【概率与期望】【高斯消元】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=5292 【题解】   首先,如果k=0k=0k=0或k=1,m=0,p>1k=1,m=0,p>1k=1,m=0,p>1时答案为-1。   记fifif_{i}表示当前剩余生命值为iii的期望步数。numinuminum_{i}为一次行动对英雄造成iii点伤害的概...

2018-05-30 14:29:18 392

原创 [bzoj3551][ONTAK2010]Peaks加强版【可持久化线段树】【最小生成树】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3551 【题解】   这一题要求强制在线,所以要维护历史版本的信息。   对于每条在最小生成树上的边(u,v),将u,v跳到所在的最高父亲,然后不是直接合并,而是新建一个点,做一次可持久化线段树合并,把(u,v)的父亲设为这个点。对于每个询问,从它开始向上跳,显然向上跳的困...

2018-05-29 21:02:01 472

原创 [bzoj3545][ONTAK2010]Peaks【线段树】【并查集】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3545 【题解】   显然离线后会好做许多。   将所有边与询问的困难值排序,用并查集维护连通性,用权值线段树维护连通块权值。每次加入一条边时,若在不同连通块中,就将这两个块合并。用线段树合并维护权值线段树。查询时查询所在块的第K大即可。   时间复杂度O(N∗logN)...

2018-05-29 18:59:03 281

原创 [bzoj2653]middle【可持久化线段树】【二分】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=2653 【题解】   遇到求中位数的题,不难想到二分答案,然后把序列转化为-1和1。   考虑二分后如何判断,对于每个不同的二分的值,可以按位置为下标建立一棵线段树,每个节点记录当前是-1还是1。[b,c][b,c][b,c]必须全取。[a,b)[a,b)[a,b),(c,...

2018-05-29 18:49:37 227

原创 [bzoj4855][Jsoi2016]轻重路径【树链剖分】【线段树】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=4855 【题解】   考虑一个轻重路径剖分,当有一个新的节点被加入后,最多改变O(log)O(log)O(log)个路径的剖分。...

2018-05-29 18:36:05 379

原创 [bzoj4552][Tjoi2016&Heoi2016]排序【线段树】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=4552 【题解】   线段树的一些特殊技巧:合并与分裂。   首先把每个点都建出一棵权值线段树,每次排序时,将包含的权值线段树合并在一起即可。可以用set维护当前的线段树集合。   但是排序可能会将两端的线段树分开,这时就要进行分裂操作,形象一点,就是将线段树从中间切开,...

2018-05-28 22:10:45 260

原创 [bzoj4408][Fjoi 2016]神秘数【线段树】【复杂度分析】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=4408 【题解】   先建出可持久化线段树,查询时查询当前可到达的区间中是否还有其他数,有就更新可到达区间并再次查询,没有就退出。   由于每一次更新的数都大于上一次的区间总长,所以区间长度是指数级增长的(最差是斐波那契数列)。   时间复杂度O(N∗log2N)O(N∗...

2018-05-28 22:01:19 317

原创 [loj6053]简单的函数【min_25筛】

【题目链接】   https://loj.ac/problem/6053 【题解】   min_25筛的模板题。   min_25筛可以解决以下一类积性函数的求和问题。   1.f(x)(x∈P)f(x)(x∈P)f(x)(x \in P)可以通过多项式表达出来。   2.f(xk)(x∈P)f(xk)(x∈P)f(x^k)(x \in P)可以快速算出。   这道题中,f(x)=x...

2018-05-25 21:25:33 806

原创 [bzoj3530][Sdoi2014]数数【AC自动机】【数位DP】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3530 【题解】   把所有数字串S建立AC自动机,在自动机上DP即可,注意数字串可以有前导零,但你的数不行。   时间复杂度O(l∗L∗10)O(l∗L∗10)O(l*L*10) 【代码】 # include <bits/stdc++.h> # defin...

2018-05-23 22:18:03 228

原创 [bzoj3532][Sdoi2014]Lis【最小割】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3532 【题解】   第一问比较简单,先求出到每个点为止的最长上升子序列,记作fff,若a[i]>a[j]a[i]>a[j]a[i] > a[j]且i>ji>ji > j且fi=fj+1fi=fj+1f_{i} = f_{j} + 1那么从iii向jj...

2018-05-23 22:04:53 260

原创 [bzoj3534][Sdoi2014]重建【矩阵树定理】【概率与期望】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3534 【题解】   首先当边权不为整数时,矩阵树定理也是适用的。   但求出来的结果是每棵树在图中出现的概率和,没有保证其他边不出现在树上。   因此对于每一种情况,还要再乘以其他边都不在的概率。   所以可以把每条边的边权设置为P/(1−P)P/(1−P)P / (...

2018-05-23 21:01:33 258

原创 [bzoj4474][Jsoi2015]isomorphism【树哈希】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=4474 【题解】   先求出重心,(如果有两个重心就再新建一个点作为新重心),将无根树转化为有根树。然后再对有根树进行哈希。对于一棵子树,它的哈希值的计算方法是:   1.求出树根节点的每个儿子的子树的哈希值。   2.将这些哈希值排序。   3.每次加上一个儿子的哈希...

2018-05-21 22:16:34 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除