11.21第十一周总结

        这周忙着去准备英语口语考试了,博客看的不多,codeforces打了一场。

        权值线段树:

        每个节点用来表示一个区间的数出现的次数,可以实现添加,查询一个数出现的次数,查询一段区间的数出现的次数,查询所有数的第k大值,如果是查询第k大值,就和右子树的总和比较;如果是查询第k小值,就和左子树的总和比较。

        主席树:

        【模板】可持久化线段树 1(可持久化数组) - 洛谷

        主席树相比普通的线段树而言,主席树可持久化。只是在要修改的时候,先把要修改的那个结点复制出来,再进行修改,建立新的结点等等,作为新的版本。更新完之后,整棵数只会比原来多一条分支(分支上有新产生的结点)。

        主席树+树状数组:Dynamic Rankings - 洛谷

        主席树+树状数组可以实现动态修改。树状数组的每一个结点都是一棵线段树。单点修改,每次修改的时候,只需要修改其对应的O(logn)棵线段树就可以。需要注意的是,在进行离散化处理的时候,是对于所有出现过的值而言的,即包括插入,修改中出现过的值。整个线段树主要还是前缀和的思想。

        线段树分治:

        二分图 /【模板】线段树分治 - 洛谷

        依靠时间轴来建立线段树,依靠并查集维护一个集合所属关系。这里要把所做的操作放到一个栈里,当退出的时候,撤销原操作,不能路径压缩,需要按秩合并。当遍历到当前节点所对应的信息,如果发现一条边的两个点在同一集合,那么它的孩子结点也一定不满足二分图的条件,直接输出"NO",如果遍历到叶子结点仍然满足条件,即为"Yes",最后回溯的时候要撤销操作所带来的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值