$Link$

给你一个 $n$ 的排列 $p$,以及排列中每个数的颜色 $c$。

定义若 $c=a\times b$,则 $c_i=b_{a_i}$。

找到最小的正整数 $k$ 使得将 $p$ 变为 $p^k$ 后,存在一个 $i$ 使得 $c_i=c_{p_i}=c_{p_{p_i}}=\cdots$。

共有 $t$ 组数据。

$1\le t\le 10^4,\sum n\le 2\times 10^5$。

阅读全文 »

$Link$

定义一个数中,连续 $k$ 个数相等,为一个长度为 $k$ 的块。

要求块外两端的数字不同于块内数字。

写下从 $0\dots 10^n-1$ 的所有数,不足 $n$ 位的用前导 $0$ 补足。

对于每一个 $i=1\dots n$ 求这些数中有多少长度为 $i$ 的块。

$n\le 2\times 10^5$,答案对 $998244353$ 取模。

阅读全文 »

来源

在暴力匹配子串时,若不匹配,则跳回子串开头匹配主串的下一位。

会发现其实主串的部分位置已经遍历过了,这样重复的遍历导致了暴力算法并不优秀。

我们可以让子串跳过一部分主串,以达到更高的效率。

阅读全文 »