上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 32 下一页
摘要: 解法一:整体二分 用支持区间加区间查询的bit可降低时空常数 阅读全文
posted @ 2020-02-17 11:02 Mrzdtz220 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 对于 $f_0=f_1=1$ 的斐波那契数列有一个性质 $$f_i=f_{i k} f_k+f_{i k 1} f_{k 1}, \forall k \in \left[1, i\right)$$ 数学归纳法证一下 当 $k=1$ 时,$f_i=f_{i 1} f_1+f_{i 2} f_0=f_{ 阅读全文
posted @ 2020-02-16 21:11 Mrzdtz220 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 问题即求每个节点的子树内,按权值从小到大排序,前 $k$ 个 $c_i$ 加起来不超过 $m$,求 $\max \{k l_u \}$ 可以想到左偏树能快速维护子树内所有权值的大小关系 每个节点维护一个大根堆,然后合并和子树的堆 先把所有值都给加上,当它们大于 $m$,就一个一个pop,直到小于等于 阅读全文
posted @ 2020-02-16 16:41 Mrzdtz220 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 计算序列的逆序对,交换相邻两个位置只会影响它俩是否产生逆序对,和其他位置的大小关系无关 交换相邻两段同样只影响这两段之间形成的逆序对 那么对每一个节点开一棵权值线段树,维护它的子树内有哪些权值 然后线段树合并,将两个儿子的线段树合并到父亲的身上 合并左右的时候就考虑会怎样产生逆序对 假设左儿子为 $ 阅读全文
posted @ 2020-02-16 16:19 Mrzdtz220 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 并查集加线段树合并 直接对两个集合的根合并,查询也在并查集的根上查,这样就不需要可持久化了 阅读全文
posted @ 2020-02-16 12:03 Mrzdtz220 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 关于维护每个节点子树里某些东西的手段有:转化为dfs序的一个区间、dsu on tree(树分块?树上莫队?) 还有一个就是线段树合并 这个题就很nb 对每个节点开两个权值线段树 第一个线段树维护每个深度出现的颜色种类数,每种颜色只在最浅深度起贡献 第二个线段树维护每种颜色出现的最浅深度 维护方法就 阅读全文
posted @ 2020-02-16 11:10 Mrzdtz220 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 我以为有多组数据,原来第一个数是数据编号,绝了 只有连边操作,启发式合并即可。 然后就是主席树裸题了。 空间要开大一点,因为主席树我不知道怎么回收空间。。 阅读全文
posted @ 2020-02-15 21:31 Mrzdtz220 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 即求一个 $k$ 和 $c$,使得 $\sum\limits_{i=1}^n(x_i+c y_{(i+k)\bmod n})^2$ 最小 把式子拆开得到 $nc^2+2(\sum x_i y_{(i+k)\bmod n})c 2\sum x_iy_{(i+k)\bmod n}$ 当 $c=\dfra 阅读全文
posted @ 2020-02-15 18:06 Mrzdtz220 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 两种贡献不会同时产生,分开考虑两种贡献 记 $pre_i$ 为 $i$ 之前第一个大于 $a_i$ 的数,$suf_i$ 为 $i$ 之后第一个大于 $a_i$ 的数,可以单调栈预处理出来 对于第一种贡献 1. $i$ 会对 $i + 1$ 产生 $p_1$ 的贡献 2. $i$ 会对 $pre_i 阅读全文
posted @ 2020-02-15 15:49 Mrzdtz220 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 用可持久化线段树维护并查集的fa数组 要按秩合并 好久不写,有点生疏。 修改时都要开新节点,这样才不会影响之前的版本 阅读全文
posted @ 2020-02-14 23:16 Mrzdtz220 阅读(87) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 32 下一页