2024.11.2 test

B

P6563 [SBCOI2020] 一直在你身旁,\(n\le 10^5\)\(c_i\le 9\)

考虑利用 \(c_i\le 9\) 的性质,那么最后答案很小。
我们原本是计算每个区间的答案,同时区间答案具有单调性,那么考虑把答案放进状态里即可。
即维护 \(f_{l,ans}\) 表示花费 \(ans\) 的代价能确定的最远的 \(r\)

C

请计算本质不同的两端都有循环节的字符串数量,满足某些字符串是不出现在子串里。

首先,看到多模匹配问题,肯定考虑 AC 自动机。
思考 −1 在什么时候出现:如果有两个环,他们可以互相到达,那么他们之间走来走去就会产生无限多的合法串。这启发我们进行一步缩点,如果存在一个强连通分量 边数 > 点数,那么答案为 −1(因为出现了环套环)。剩下的是一张 DAG,我们要统计的就是图上经过至少一个环的路径数量。
仔细分类讨论之后发现还漏了一种情况:一条路径上有三个环的时候,中间那个环走几次是任意的,也有无限种情况。特判一下即可。

posted @ 2024-11-03 19:10  s1monG  阅读(6)  评论(0编辑  收藏  举报