AtCoder Regular Contest 108 (A-F) 题解

AtCoder Regular Contest 108 (A-F) 题解

A

枚举P的因子,时间复杂度\(O(\sqrt p)\)

B

从前往后扫,维护一个栈,遇到一个完整的fox,就弹出。时间复杂度\(O(N)\)

C

搞一个生成树,根据父亲的颜色决定当前点的颜色。

D

分类讨论好题,👍

讨论每一种情况,看看字符串有多少形态?

时间复杂度:\(O(n)\)

E

我们可以发现若l和r选择的话,则l,r内部的期望点数实际上与区间[l,r]外是无关的。

所以用dp[l] [r]表示 l,r选择 内部的期望点数。

最终大概长成这样:

\[dp_{l,r}=\sum_{a_r>a_i>a_l}(dp_{l,i}+dp_{i,r})*K \]

咋优化这个呢?

实际上由于\(a_l<a_r\),所以对于\(f_{l,i}\)我们实际上只需要满足限制: \(a_i<a_r\),同理\(f_{i,r}\)只需要满足限制\(a_l<a_i\)

所以我们只需要对于每一个\(dp_{l,*}\)\(dp_{*,r}\)记录一个BIT就可以了。

F

一端在树的直径上,剩下的数学乱搞就可以了。时间复杂度\(O(N)\)

posted @ 2020-11-22 22:11  WWW~~~  阅读(183)  评论(0)    收藏  举报