上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 假设叶子节点是L个。首先可以证明下界是$\frac{L+1}{2}$。 所以我们先把叶子节点抽出来,然后通过dfs序排序好。记为$[1,L]$ 然后连接$i,i+\frac{2}$ 我们假设有一颗子树,他的叶子节点编号是$[l,r]$,假设$r<L/2$那么该子树到根节点的链,肯定会被$[l,l+\ 阅读全文
posted @ 2020-07-15 15:20 LORDXX 阅读(123) 评论(0) 推荐(0)
摘要: 这个题目本质是求,加入给一个长度为n的区间,求区间内,长度为k内的最大值是多少。因为题目时间限制,不能直接用线段树等。于是关于最大值我们思考到了单调栈。但是单调栈只能处理区间[0,r]的最大值。所以我们还需要移动左指针,保证区间长度是k。故使用双端队列。队列中单调递减。 队头保证在区间[r-k+1, 阅读全文
posted @ 2020-07-15 15:13 LORDXX 阅读(113) 评论(0) 推荐(0)
摘要: 首先是题解的做法 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> #include<climits> #include<stack> #include<vector> 阅读全文
posted @ 2020-07-15 15:07 LORDXX 阅读(145) 评论(0) 推荐(0)
摘要: 由krus求MST可以知道,我们将边集合按照权值大小排序,从小到大贪心的取,其中可以发现,如果权值=x的边,被选取,那么所有权值等于=x的边对应的点应该全部在当前构建的MST中。即,权值相等的边集,在构建MST的过程中,对应点集保持一致。 所以我们这道题目按照权值sort一遍,然后再离线保存下来查询 阅读全文
posted @ 2020-07-10 19:18 LORDXX 阅读(170) 评论(0) 推荐(0)
摘要: 继续打打板子热热手。 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> #include<climits> #include<stack> #include<vecto 阅读全文
posted @ 2020-07-10 16:19 LORDXX 阅读(132) 评论(0) 推荐(0)
摘要: 用lct中的access操作来维护链。因为每一次更新到根节点所以不用split操作。 注意下传标记和统计的时候影响。 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> 阅读全文
posted @ 2020-07-10 14:45 LORDXX 阅读(134) 评论(0) 推荐(0)
摘要: 树链剖分。 先做轻重链剖分后,维护每一条链上的信息。初始树为空。 以每一条重链的头top为基点,建立单调栈。栈内维护,从大到小,该链上修改的深度,以及对应颜色。 每一次修改,如果栈内有比他浅的点,即,若我们把当前的颜色涂上,会使得之前的颜色覆盖掉,故我们清除掉该颜色。不断弹栈,直到为空或者栈顶比他深 阅读全文
posted @ 2020-07-09 19:59 LORDXX 阅读(158) 评论(0) 推荐(0)
摘要: 在多校前,练练手,发现自己真的好菜。 一开始队友开了签到题,我随便一看看到了M,然后写了一个待修主席树,然后呢大概长这个样子 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdl 阅读全文
posted @ 2020-07-09 19:10 LORDXX 阅读(107) 评论(0) 推荐(0)
摘要: 线段树分治。以时间轴建立线段树,每一个线段树节点,存放[L,R]时间内,有影响的操作1,建立可持久化trie树,trie树以商店位置为root,就可以支持商店的区间查询,然后将操作0,按照商店位置排序,进行线段树分治,每次到一个节点,先把操作0插入trie树,然后把所有当前时间内存的有影响的操作1全 阅读全文
posted @ 2020-07-08 18:31 LORDXX 阅读(127) 评论(0) 推荐(0)
摘要: nim游戏的sg函数$sg[x]=x$,故,先手必败的条件是$sg[a[1]]xorsg[a[2]]..xorsg[a[n]]==0$故,我们需要第三次开始时,sg函数不为零。也即是找到一个集合,使得他的异或值不为零。我们采用线性基插入,无法插入时表示,异或值为零。又因为要找最小值,我们就需要将线性 阅读全文
posted @ 2020-07-08 11:14 LORDXX 阅读(157) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页