摘要:
思路 斜率优化 + 贡献提前。 设 $f[i]$ 为前 $i$ 个任务的最小代价,显然有: $f[i] = \min\limits_{j = 0}^{i - 1} f[j] + cost(j + 1, i) + s$ 这里的 $s$ 可以在斜率优化的时候当成常数项,也可以先贡献提前算出来,也就是把它 阅读全文
摘要:
思路 扫描线 + 线段树。 似乎是典题,但是只推了一半…… 首先发现需要去重,考虑一个离线做法。 将所有的询问离线下来,按右端点排序,扫描线处理。 这里线段树比较玄学,维护的是: 令下标为 $i$ 的位置是 $i$ 到当前右端点 $r$ 的贡献。 $[i, r]$ 的和。 $[i, r]$ 的历史版 阅读全文
摘要:
思路 可以用启发式合并 Trie 啦! 首先考虑到对于合法的方案,必然存在一个结点 $x$ 使得其中一条路径在 $x$ 的子树中而另一条不在,实际上 $x$ 是两条路径中最浅点之一啦! 所以只需要考虑维护出每个子树内的最优路径和子树外的就好啦! 注意到路径异或和等价于端点的树上前缀异或和的异或和,不 阅读全文
摘要:
题意 动态维护树上点集直径。 思路 线段树。 这个题纯粹就是刻板印象检验,结果把我区分了 /xk 谁规定线段树只能维护连续区间? 首先有直径结论:设树上点集 $S$ 的直径点集为 $F(S)$,则 $F(S \cup T) \subset F(S) \cup F(T)$ 于是直径点集具有可合并性,考 阅读全文
摘要:
思路 SAM + LCT. 子串计数大概率需要一个 SAM. 首先这个问题和区间数颜色很类似,回忆一下怎么数颜色。 一种常见的方法是考虑扫描线。令 $p(i)$ 为第 $i$ 种颜色最后一次出现的位置,则 $[l, r]$ 的答案为 $\sum\limits [p(i) \geq l]$。用数据结构 阅读全文
摘要:
前置知识:单位根,原根,*CRT。 单位根 概念 在复数下,满足 $x^n = 1$ 的 $x$ 称为 $n$ 次单位根。 $n$ 次单位根一共有 $n$ 个。 将所有的单位根按照辐角大小排列,第 $k$ 个($0 \leq k < n$)个 $n$ 次单位根为: $x_k = e^{i \frac 阅读全文
摘要:
思路 各种做法,但是有强化版。 首先是 naive 的线段树合并维护深度做法。 然后可以考虑主席树。正常来说距离不超过 $k$ 的子树问题,是以 dfs 序为时间轴,以深度为下标建主席树。 但是取最小值不具有可减性,所以以深度为时间轴,以 dfs 序为下标建主席树,这样只需要在某个版本的主席上查询一 阅读全文
摘要:
思路 清真树论。 树论地考虑祖先后代关系,分讨一下。 用 ST 表处理一下 $lca(l, r) = u$: $u, p$ 无祖先后代关系,答案为 $dis(u, p)$ $p$ 是 $u$ 的祖先,答案为 $dis(u, p)$ $u$ 是 $p$ 的祖先,继续分类讨论: $p$ 的子树内有 $[ 阅读全文