Loading

2023.2.14

vp:Codeforces Round 848

CF1778D. Flexible String Revisit

\(f_i\) 表示序列中有 \(i\) 个位置不同的期望操作次数,朴素的转移方程是显然的:

\[f_i=\frac{i}{n}f_{i-1}+\frac{n-i}{n}f_{i+1}+1 \]

这个转移方程是带环的,一种解决方式是 环上高斯消元 ,但这题有更为简洁的做法。将等式左边的 \(f_i\) 系数拆一下:

\[\frac{i}{n}(f_i-f_{i-1})=\frac{n-i}{n}(f_{i+1}-f_i)+1 \]

\(f\) 的差分数组为 \(g\) ,即 \(g_i=f_i-f_{i-1}\) ,代入得:

\[g_i=\frac{\left( (n-i)g_{i+1}+n\right)}{i} \]

由于 \(f_0=0\) ,因此我们只要递推出 \(g\) 数组就可以很方便的求解 \(f\)

由于 \(g_n=f_n-f_{n-1}=1\) ,因此直接从后往前递推 \(g\) ,再从前往后递推 \(f\) 即可。

P4103 大工程

虚树的模板题,复习了一手虚树。

ABC289G - Shopping in AtCoder store

按照 \(b\) 从大到小排序,稍微转化一下式子就是 \(f_{i}=i\cdot c_j+i\cdot b_i\) ,一个明显的斜率式,用李超树维护一下就行。

ABC288F - Teleporter Takahash

需要发现一些性质的题目,考虑连续用相邻两个点对称,可以到达的点就是其四个方向上走两步得到的点。分类讨论一下就完了。

P4717 【模板】快速莫比乌斯/沃尔什变换 (FMT/FWT)

学习新算法。详见 快速沃尔什变换学习笔记

posted @ 2023-02-15 14:52  _YangZJ  阅读(49)  评论(0)    收藏  举报