洛谷5206 [WC2019]数树
Luogu LOJ orz laofu!!1 分析 $op = 0$ 只需要统计两棵树有多少条重边即可。假设有 $c$ 条,答案即为 $y^{n - c}$。 $op = 1$ 先特判掉 $y = 1$ 的情况,答案为 $n^{n - 2}$。 我们要求的是 考察每个连通分量。一个大小为 $a$ 的连通分量会产生 $\frac{n^2 y}{1 - y} a^2$ 的乘积贡献,而 $a$...
Luogu LOJ orz laofu!!1 分析 $op = 0$ 只需要统计两棵树有多少条重边即可。假设有 $c$ 条,答案即为 $y^{n - c}$。 $op = 1$ 先特判掉 $y = 1$ 的情况,答案为 $n^{n - 2}$。 我们要求的是 考察每个连通分量。一个大小为 $a$ 的连通分量会产生 $\frac{n^2 y}{1 - y} a^2$ 的乘积贡献,而 $a$...
Codeforces Luogu 分析 考虑对于每一件 T-shirt 计算其贡献。下面设当前考虑的 T-shirt 为 $k$。 设 $f_{i, j}$ 表示前 $i$ 个人,有 $j$ 人适合大小为 $k$ 的 T-shirt 的概率,转移为 是单减的。 因此我们可以每次贪心地找一个 $\Delta g$ 最大的 T-shirt 大小出来。 实现时,我们先求出对每个 T-shirt ...
Luogu 分析 为了方便我们先令 $y$ 等于 $x + 1$,则 $S_k(x) = \sum_{i = 0}^{y - 1} i ^ k$。 根据伯努利数的结论有 后面同样是差卷积的形式,翻转后一遍 NTT 即可。 代码 // ==================================== // author: M_sea // website: https://m...
LOJ 分析 考虑求出交集大小至少为 $k$ 的方案数 $f(k)$,显然有 从小到大枚举 $k$,动态维护 $(\omega ^ j - 1) ^ k$ 即可 $\mathcal{O}(n)$ 计算。 代码 // ==================================== // author: M_sea // website: https://m-sea-blog...
Codeforces Luogu 分析 考虑对值域分块,设块长为 $B$。 对于每块,我们考虑凑出每个原序列中区间对应的集合(这样的集合实际上只有 $\mathcal{O}(B^2)$ 个)。这样子就可以通过把每一块对应的集合合并来得到每个询问的答案了,操作次数为 $\frac{nq}{B}$。 考虑每一块内对值域分治,每次将两个子区间 $\mathcal{O}(len^2)$ 地合并,这样...
Codeforces Luogu CF 上评测 ID 是 #108009000,感觉非常的好看( 分析 为了方便,设 $a = \frac{1}{m}, b = 1 - \frac{1}{m}$。 枚举第一张是王牌的次数,答案为 预处理斯特林数计算即可。直接递推是 $\mathcal{O}(k ^ 2)$ 的,也可以用 NTT $\mathcal{O}(k \log k)$ 求。 代码 /...
Codeforces Luogu 分析 事实上有 $(a \operatorname{and} b) + (a \operatorname{or} b) = a + b$。那么 于是我们可以求出所有 $a_i$ 的和。这里注意判一下 $\sum b_i + c_i$ 是不是 $2n$ 的倍数。 接着我们就可以求出每个 $a_i$。这里也要注意判一下 $b_i + c_i - \sum a_...
AtCoder Luogu 分析 假设当前要插入一个数 $x$,那么只能插入到序列末尾或者一个 $<x$ 的数之前。 我们把操作序列转化为一棵树,每个节点都是一个二元组 $(w, t)$,表示第 $t$ 次操作在其父节点插入的数前插入了 $w$。为了方便我们新建一个点 $(0, 0)$ 作为根,表示插入到序列末尾。 那么这棵树满足:$t$ 是 $[0, n]$ 的排列、$w\in [0...
AtCoder Luogu 分析 题目相当于限定只能放在两个圆中间,求放 $2n$ 个车的方案数。 事实上我们可以对每一列求出其能放置车的范围 $[L_i, R_i]$。可以发现,对于所有 $i\in[n, 2n)$,都有 $L_i = 0$。 如果所有 $L_i$ 都为 $0$,这就是一个经典问题:将 $R_i$ 从小到大排序,答案即为 $\prod_{i = 0}^{2n - 1} (R...
Luogu 分析 首先求出烷基的 OGF $F(x)$,具体求解过程可以看这里。 考虑一个烯烃断掉双键后会构成一棵根的儿子数 $\leq 2$、其余节点的儿子数 $\leq 3$ 的树,我们考虑求出其 OGF $G(x)$。 根据 Burnside 引理可以得到 这里减 $1$ 是因为双键两端都必须有碳原子(双键显然不能连在氢原子上)。 依据上式直接计算即可。时间复杂度 $\mathcal...