摘要: tag:SAM,矩阵乘法,分块 首先我们要知道一个 trick,如何把两个 SAM 拼起来。 大概就是对于第一个 SAM 上的所有点,如果某个字符 \(c\) 没有出边,就连向第二个 SAM 的根结点的 \(c\) 出边指向的点。 这样最后会构造出来一个自动机,每一条路径都对应着一个题目中要求的字符 阅读全文
posted @ 2021-07-08 16:45 oisdoaiu 阅读(24) 评论(0) 推荐(0) 编辑
摘要: tag:组合计数 显然出题人直接把两个问题直接拼了起来。。 可以枚举放了 \(i\) 个 \(2\),则有 \(n-2i\) 个 \(1\),且序列长度为 \(n-i\)。 然后第二问只与 \(len\) 有关,原问题是先涂色再选点,实际上可以先选点再涂色。选出来的点一定是黑白交错,而且对应唯一的一 阅读全文
posted @ 2021-07-08 16:43 oisdoaiu 阅读(29) 评论(0) 推荐(0) 编辑
摘要: tag:贪心 瞎猜一个结论,前 \(n\) 个一定是 \(1,2\cdots n\),可以用归纳法证明。 然后 \(n^2\) 很简单,从 \(n\) 开始枚举匹配点,一对点不合法只有两种情况: \(x,y\) 在同一个联通块内 \(x,y\) 所在的联通块合并以后没有可以连向外部的点 第二条的意思 阅读全文
posted @ 2021-07-08 16:42 oisdoaiu 阅读(39) 评论(0) 推荐(0) 编辑