随笔分类 -  数据结构

DS大法
摘要:Description 给你一个序列,每次询问给出四个数 $a,b,c,d$,求所有区间 $[l,r]$ 满足 $l \in [a,b], r \in [c,d]$ 的中位数的最大值。强制在线 $n \leq 20000, Q \leq 25000,a_i \leq 10^9$ Solution 考 阅读全文
posted @ 2019-01-20 14:01 AcFunction 阅读(193) 评论(2) 推荐(1)
摘要:Description $n$ 个数的序列,每次询问一个区间,求最小的一个数使得不能用这个区间中的数之和表示。 $n \leq 10^5, \sum a_i \leq 10^9$ 这两个题一个是权限一个没有真是很方~~所以我在洛谷交~~ Solution ~~第一次用数组写数据结构真短啊~~ 考虑只 阅读全文
posted @ 2019-01-17 16:36 AcFunction 阅读(394) 评论(0) 推荐(0)
摘要:Description 给 $n$ 个点以及它们的弹力系数 $k_i$ ,含义为 可以弹到 $i + k_i$ 的位置。 支持两个东西,修改一个点的弹力系数;求一个点要弹多少次弹出 $n$ Solution 用 LCT 做。弹力系数是 $k_i$ 可以看作是 $i$ 和 $i+k_i$ 连了一条边。 阅读全文
posted @ 2019-01-11 19:23 AcFunction 阅读(265) 评论(0) 推荐(0)
摘要:fhqtreap 大法吼! 阅读全文
posted @ 2018-12-29 22:24 AcFunction 阅读(245) 评论(0) 推荐(0)
摘要:Descriprition 两种操作 1. 把两个集合并起来 2. 求一个集合中的第 $k$ 大(的编号) $n \leq 10^5$ Solution 平衡树的板子题之一 维护两个点连不连通直接并查集 考虑怎么把两个集合合并 启发式合并!即把 siz 小的那一颗平衡树每一个点暴力地加入到另一个 这 阅读全文
posted @ 2018-12-24 21:47 AcFunction 阅读(419) 评论(0) 推荐(0)
摘要:Description 维护三个操作:区间加,区间翻转,区间求最大值。$n \leq 50000$ Solution fhqtreap大法好! 模板题(我是不会告诉你这篇题解是用来存个代码的 Code 阅读全文
posted @ 2018-12-23 21:04 AcFunction 阅读(198) 评论(0) 推荐(0)
摘要:Description 求区间内有多少对 $(i,j)$ 满足 $|a_i a_j| \leq k$ Solution 可以莫队做(万能的莫队) 只需要考虑加入一个数会产生多少贡献即可 离散化的时候把 $a_i,a_i k, a_i+k$ 全部放进去。 加入一个数的时候只需要维护 $[a_i k,a 阅读全文
posted @ 2018-12-23 10:02 AcFunction 阅读(213) 评论(0) 推荐(0)
摘要:Description $T$ 组询问,定义 $F(n)=\sum\limits_{d|n}d$。每次给出 $n,m,a$ 求 $$\sum\limits_{i=1,j=1,F(\gcd(i,j)) \leq a}^{i\leq n, j \leq m} F (\gcd(i,j))$$ $T \le 阅读全文
posted @ 2018-12-17 21:11 AcFunction 阅读(489) 评论(0) 推荐(2)
摘要:题目大意 : 一个序列,支持区间开方与求和操作。 算法 :线段树实现 开方修改 与区间求和 分析 : 显然,这道题的求和操作可以用线段树来维护 但是如何来实现区间开方呢 大家有没有这样的经历:玩计算器的时候, 把一个数疯狂的按开方,最后总会变成 $1$,之后在怎样开方也是 $1$ ($\sqrt1= 阅读全文
posted @ 2018-12-03 10:25 AcFunction 阅读(199) 评论(0) 推荐(0)
摘要:先按照长度排个序,然后依次添加区间。什么是添加?设这个区间是$[l,r]$,添加就是把$a_l,a_{l+1},a_{l+2},{...},a_{r}$都加上$1$,其中$a_i$表示第$i$个位置被几个区间覆盖。拿走一个区间的含义就是把它们都减$1$。这个过程很显然可以用线段树维护。 如果在添加到 阅读全文
posted @ 2018-12-01 22:09 AcFunction 阅读(139) 评论(0) 推荐(0)
摘要:"题目链接" 题解 题目大意 : 一个序列,支持区间开方与求和操作。 算法 :线段树实现 开方修改 与区间求和 分析 : 显然,这道题的求和操作可以用线段树来维护 但是如何来实现区间开方呢 大家有没有这样的经历:玩计算器的时候, 把一个数疯狂的按开方,最后总会变成 $1$,之后在怎样开方也是 $1$ 阅读全文
posted @ 2018-04-16 17:22 AcFunction 阅读(142) 评论(0) 推荐(0)
摘要:"题目链接" 题解 家和公司在同侧 简单,直接预处理掉 若 $k=1$ 取所有的居民的$\frac{家坐标+公司坐标}{2}$的所有坐标的正中间建一座桥,使所有居民到的距离最小。 实现方法:线段树(用来求中位数) 期望得分:$14 + 8 = 22$(如果按子问题给分) 若 $k=2$ 取每个线段的 阅读全文
posted @ 2018-04-16 17:20 AcFunction 阅读(163) 评论(0) 推荐(0)