Loading

20220306 刷题日记

CF814E

首先不难观察到我们的整个图可以看做树边和非树边,注意到答案之和所有点的度数有关,而转移的时候所需要的所有信息其实是 \(2\) 度点的个数和 \(3\) 度点的个数,以及当前层的点数,我们可以让一个 dp 数组当前层值关注树边,另一个 dp 数组帮助转移。可以写出 dp 式子。dp 式子前所未有的复杂,最终复杂度为 \(n^3\)

SDWC day6 T3

这个题目主要的思维难度在于我们发现若干询问其实确定的其 lca,在枚举了宝藏所在的位置之后,剩下的就是选一些点另其 lca 为根节点,这个是可以进行 dp 的。参考标称后发现其写法非常巧妙,巧妙的利用的每中方案,如果是第 \(k\) 位确定的 lca,会被算重 \(n-k\) 次这个性质。直接 dp 出方案数,用总的减去就是期望的和。

CF1060F

考虑把概率转化成计数,我们不考虑我们删边的次序,答案最后除以 \((n-1)!\) 就可以。我们现在来考虑计数某一个点最后留下的方案数。

我们可以把一棵子树 在一个点处 分为两部分,然后考虑两部分是可以进行合并的,我们只需要 dp 出 \(f_{i,j}\) 表示根到 \(i\) 并且目前 \(i\) 的子树有 \(j\) 条边,最后根留下的概率。

现在我们考虑如何把一个节点何其儿子节点合并,分类讨论后集合实现。

CF775div2

D题因为没有清空数组,白白增加40分钟罚时,E没冲过去。

幸好结果还可以,没有掉分。

D题主要的思路是我们枚举除数,然后考虑结果相同的是一段区间,开个桶直接 \(O(n\ln n)\) 做就可以。

E题主要的思路是枚举 lcp,然后后面是一个类似于组合数的东西,注意到会有算重,所以前面每往后推一位就乘上一个其当前还没有固定的数的个数,这样后面乘上一个组合数,我们就可以通过除掉每个数出现次数的阶乘去重了。注意到我们可能还会算漏一个东西,当 \(n<m\) 并且我们的 \(s\) 可以组成 \(t\) 的一个前缀的时候,我们整个 \(s\) 串是可以组成一个方案的。特判一下就可以。

posted @ 2022-03-07 07:18  hyl天梦  阅读(40)  评论(0编辑  收藏  举报