随笔分类 - CodeForces
摘要:洛谷传送门 CF 传送门 发现样例中所有数的和为 $n!n$,于是猜想好的序列总数为 $n!$。 考虑将每一个排列 $p$ 唯一对应一个好的序列 $a$。可以这么构造:在 $p$ 中顺着填,先倒着列出 $1$ 在 $a$ 中所有出现位置,再到 $2,3,...,n$。 于是发现对于一个排列 $p$,
阅读全文
摘要:洛谷传送门 CF 传送门 ~~zxx 的题单来的(~~ 发一个无脑 kmp 自动机 + dp 做法。 看到题就很 dp,考虑设计状态。显然填字母时要知道当前串与 $s,t$ 的匹配位数,否则就不知道 $s,t$ 是否完整出现。设 $f_{i,j,k}$ 表示填到 $c$ 的第 $i$ 个字符,与 $
阅读全文
摘要:CF 传送门 洛谷传送门 ~~*2500 的黑(~~ 首先不考虑最小化字典序,我们发现 $res_i \ge \dfrac{2}{deg_u}$。意思是理想的状态就是在一段周期内平均分配。 这个下界是可以达到的,根据连向父亲的边的的调整连向儿子的边即可,这个构造是容易的。 于是可以发现 $res_i
阅读全文
摘要:CF 传送门 洛谷传送门 考虑将问题抽象成:左上角为 $(0,0)$、右下角为 $(n,m)$ 的网格图,求所有满足至少有一条 只向下或向右走的路径 经过点集内所有点的的不同的点集大小之和。 显然对于一个合法的点集,经过它的路径可能不止一条,去重也很麻烦。考虑钦定两个点间的访问顺序,比如先向下再向右
阅读全文
摘要:CF 传送门 洛谷传送门 很强的一个题。 发现根的选择很重要,于是考虑先枚举根。 考虑枚举两个点对 $i,j\ (i<j)$,如果 $j$ 比 $i$ 先被标记,那么 $i,j$ 就贡献了一个逆序对。将所有 $j$ 比 $i$ 先被标记的概率加起来就是期望。 对于 $i,j$,当 $\operato
阅读全文
摘要:洛谷传送门 CF 传送门 不错的根号分治练习题。 考虑枚举公差 $k$,题目就转化成了求 $a_i - i \times k$ 相等的数的最大值。 考虑根号分治。 当 $|k| \le \sqrt{10^5}$,显然可以暴力枚举,开桶记录。 当 $|k| > \sqrt{10^5}$,对于一个 $i
阅读全文
摘要:洛谷传送门 CF 传送门 考虑朴素 dp:设 $f_{i,j}$ 表示分了 $j$ 段且第 $j$ 段的末尾是 $i$ 的最小花费。 有转移:$f_{i,j} \gets \min\limits_{k=0}^{i-1} f_{k,j-1} + cost(k+1,i)$,其中 $cost(l,r)$
阅读全文
摘要:洛谷传送门 CF 传送门 小清新动态开点线段树优化 dp 题。 首先题目中的 if 嵌套看起来就很烦,可以考虑建树,外面再套一层大的 if 0 ... end,这样就将本题转化成一个树上问题。 考虑树形 dp。设 $f_{u,i}$ 表示 从结点 $u$ 出来时,$x$ 的值是 $i$ 的最少花费。
阅读全文
摘要:被交互提薄纱 A 显然答案就是经过最边缘的四个点组成的矩形的周长。 B 显然 $f(a){\min} = \max\limits{i=1}^n a_i$。考虑达到这个下界的时候,数组的最小值一定在两端点,删去这个最小值,剩下的数组的最小值仍然一定在两端点。直接模拟就行。 C 每次找到最小的且 $\g
阅读全文
摘要:洛谷传送门 CF 传送门 思路 路径最值想到 $\mathrm{Kruskal}$ 重构树,则求最大权值就是求 $\mathrm{LCA}$ 的点权。 多个点的 $\mathrm{LCA}$ 就是 $\mathrm{dfs}$ 序最小和 $\mathrm{dfs}$ 序最大的点的 $\mathrm{
阅读全文
摘要:洛谷传送门 CF 传送门 思路 考虑离线,按时间倒序进行操作,删边变成加边。 然而若按时间倒序进行操作,就不知道哪些点已经 $p_u = 0$ 了。. 可以按加边的顺序建出 $\mathrm{Kruskal}$ 重构树。则可以倍增找到在 $t$ 时刻连通的祖先,它的所有叶子子结点即为在 $t$ 时刻
阅读全文
摘要:洛谷传送门 CF 传送门 思路 考虑将每条边的编号作为边权,然后建 $\mathrm{Kruskal}$ 重构树。 那么每个询问的答案即为 $\mathrm{LCA}(l,l+1,...,r-1,r)$。 有一个经典套路,就是多个点的 $\mathrm{LCA}$ 就是 $\mathrm{dfs}$
阅读全文
摘要:洛谷传送门 CF 传送门 思路 令 $1$ 为根,并设 $d_u$ 为 $1$ 到 $u$ 的路径上经过的点的异或和,则 $u,v$ 两点路径经过点的异或和可以转化成 $d_u \oplus d_v \oplus a_{\mathrm{lca}(u,v)}$。 因为题目没有限制,所以可以将点权修改为
阅读全文
摘要:洛谷传送门 CodeForces 传送门 一道不错的博弈论。 思路 此题的关键性质在于:一方可以重复另一方上一次的操作从而使得局面不变。 因此有结论:先手必胜当且仅当先手第一步就取胜,后手必胜当且仅当先手无法在第一步就取胜且无论先手如何操作后手都能一步胜利。 可以这么理解。若先手第一步无法取胜,后手
阅读全文
摘要:洛谷传送门 CF 传送门 思路 看到询问次数是 $O(\log n)$ 级别的,考虑使用树剖的一些性质。 我们都知道一个点到根结点的链经过的轻边为 $O(\log n)$ 级别的。于是考虑如下的算法: 先通过一次询问得出 $x$ 的深度,然后树剖。 一开始设 $u \to 1$。沿着重链跳到和 $x
阅读全文
摘要:洛谷传送门 CF 传送门 思路 考虑数列是一个排列怎么做。 套路地,设一个数组 $b_i$ 表示 $i$ 在排列出现的位置,即 $a_{b_i} = i$。则题中交换逆序对的位置就转化成了交换逆序对的值(因为若 $i < j$ 且 $b_i > b_j$ 则 $a_{b_j} > a_{b_i}$)
阅读全文
摘要:洛谷传送门 CF 传送门 又是一道小清新构造题。 思路 显然若 $n$ 为合数(除了 $4$,因为 $4$ 可以构造出 $[1,3,2,4]$)则无解,因为一定存在 $x > 1,y > 1,x \ne y$ 且 $xy \equiv 0 \pmod{n}$,而 $n$ 一定要放在排列最后一位使得前
阅读全文
摘要:洛谷传送门 CF 传送门 萌萌交互题。 思路 考虑每次询问两个叶子的 $\mathrm{LCA}$,若 $\mathrm{LCA}$ 为两个叶子之一,那么 $\mathrm{LCA}$ 必为根。 每次询问后需要加进来新的叶子。 若询问 $\left\lfloor\dfrac{n}{2}\right\
阅读全文
摘要:洛谷传送门 CF 传送门 题意 给一棵树和每个结点消失的概率 $p_i$,有 $q$ 组询问,每组询问要求: 将 $p_u$ 修改为 $x$ 查询森林的期望连通块数量 思路 题中给出的是每个结点消失的概率,那不妨先 $p_i \gets 1 - p_i$ 将 $p_i$ 转化为每个结点出现的概率。
阅读全文
摘要:洛谷传送门 CF 传送门 思路 引理:$n$ 台电脑全部手动打开的方案数为 $2^{n-1}$。 证明:设第一台打开的电脑是第 $x$ 台。则 $x+2$ 一定在 $x+1$ 后打开,$x+3$ 一定在 $x+2$ 后打开,……,$n$ 一定在 $n-1$ 后打开。同理 $x-2$ 一定在 $x-1
阅读全文

浙公网安备 33010602011771号