ICode9

精准搜索请尝试: 精确搜索
  • CF702F-T-Shirts【FhqTreap】2022-01-15 08:32:26

    正题 题目链接:https://www.luogu.com.cn/problem/CF702F 题目大意 有\(n\)个物品,第\(i\)个价格为\(c_i\),质量为\(q_i\)。 然后有\(m\)个询问,假设一个人有\(v_i\)块,他每次会买他能买得起的\(q_i\)最大的(如果相同就\(c_i\)最小的)物品购买,直到买不起为止,一个物品只能买一次,求他最后

  • 「数据结构」 FHQTreap2019-10-03 10:00:42

    FHQTreap \(\text{FHQ Treap = Tree + Heap}\) FHQTreap 通过给节点赋一个随机数,当作这个点的优先级,通过随机化让平衡树尽可能的平衡。令人惊喜的是,FHQTreap 的中序遍历能得到原来的序列。那么,我们应该如何维护 FHQTreap 呢? 存储 我们需要以下变量来存储: struct FHQTreap{ in

  • LOJ#503. 「LibreOJ β Round」ZQC 的课堂(容斥+FHQTreap)2019-05-19 20:41:42

    题面 传送门 题解 首先\(x\)和\(y\)两维互相独立,可以分开考虑,我们以\(x\)为例 我们把\(x\)做个前缀和,那么就是问有多少\(i\)满足\(s_is_{i-1}<0\),其中\(s_0=1\)。这个条件等价于\(\max(s_i,s_{i-1})>0\)且\(\min(s_i,s_{i-1})<0\)。我们可以容斥一下,就是总数减去\(\max(s_i,s_{i-1}

  • FhqTreap的区间翻转2019-04-28 17:40:08

    学 Fhq 就是为了尽量不去写某毒瘤数据结构,所以自然要来杠一杠某数据结构的经典操作:区间反转 听起来玄乎,但只需要一个小 trick 就行了:把原来的区间以下标作为权值建成 Treap , 这样整棵 Treap 的中序遍历就是原区间. 按照这种方法建树,是进行区间操作的第一步.接下来我们考虑如

  • [模板]fhqTreap2019-04-13 09:41:48

    用途 平衡树(可实现区间翻转) 原理 和treap一样,中序遍历表示权值的顺序,并且每个点有一个随机的附加值,形成一个堆来保证复杂度 但是不旋转,所有操作通过split和merge实现 分为两种split:按权值和按排名 代码 luogu3369 普通平衡树 1 #include<bits/stdc++.h> 2 #define pa pair<in

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有