随笔分类 -  数据结构

摘要: 题目链接:永无乡 思路:利用无旋treap。先看操作B,(因为你不能够保证一个树中的所有元素都小于另一颗树,所以不能通过merge函数将两树合并)可以这样处理,我们考虑两个fhqtreap的合并,可以参考启发式合并的思路,暴力的遍历一个较小的集合,并将其加入 阅读全文
posted @ 2022-04-22 20:35 xiaodangao 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题目链接:Gorgeous Sequence 思路:本题用普通线段树完成不了将区间内的大于k的数都等于k的操作,但吉老师线段树可以。我们需要维护的东西有:最大值,次大值,最大值的数量,区间和。对于每一次modify操作,我们分类讨论(为了讨论方便,我们将当前修改的值设为k,当前区间最大值设为ma 阅读全文
posted @ 2021-06-16 21:39 xiaodangao 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题目链接:M.Stone Games 思路: 先上图: 所以假设当前满足[1,x]\(\)[1,x]中所有元素都已经选完,那么我们发现,我们判断x+2是否存在没有什么意义,只有判断[1,x+1]中元素存在才有意义,选择x+1就是为了能构成上述图中情况1。因为有一个x+1 阅读全文
posted @ 2021-06-02 17:08 xiaodangao 阅读(176) 评论(0) 推荐(0) 编辑
摘要:题目链接:D. Cut and Stick 思路:询问最少需要分成几个区间,如果该区间众数小于等于2,那么显然答案是1。否则的话,我们需要尽可能的满足众数的要求,将尽可能多的众数放在一个区间里面,所以一个区间里面最多能够放的个数是其他数的个数+1,其余的 阅读全文
posted @ 2021-06-02 10:01 xiaodangao 阅读(68) 评论(0) 推荐(0) 编辑
摘要:题目链接:D. GCD of an Array 思路:纯纯的数据结构题目,一看数据范围2e5很显然是维护每一个质数的最小的个数,2e5内的素数个数不超过2e4,所以我们对于每一个素数用一个map来存对于ai的该素因子的个数,然后用另外一个map存反(其实可以用multiset代替) 阅读全文
posted @ 2021-05-13 21:13 xiaodangao 阅读(64) 评论(0) 推荐(0) 编辑
摘要:题目链接:L3-018 森森美图 题意:这个题的题意很迷,大概意思就是给你一个起点一个终点,然后起点和终点连线的直线将图划分成两部分,然后分别求这两部分的起点到终点的最短路径val相加,需要注意的是,对于边权的计算,这个题边权的计算有点迷,大概就是若a->b->c均不是斜向边,那么总边权为$a+b+ 阅读全文
posted @ 2021-04-21 21:38 xiaodangao 阅读(337) 评论(0) 推荐(0) 编辑
摘要:题目链接:D. Playlist 题意:略 思路:模拟,先思考我们需要完成什么操作,因为数组是1e5级别的,所以用遍历的方式一次次的删除,太慢,所以我们需要一种数据结构,支持插入,删除,查找,遍历,且最坏时间复杂度是Θ(logn),平衡树恰巧能够干这个活,所以我们选择用set来处理 阅读全文
posted @ 2021-04-21 14:13 xiaodangao 阅读(115) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示