CF722F Cyclic Cipher
题目描述
给定 $n$ 个序列。每个序列由不超过 $m$ 的正整数组成,且每个序列中的整数互不相同,但同一个整数可以出现在多个不同的序列中。第 $i$ 个序列的长度为 $k_i$。
每一秒,所有序列中的整数都整体向左循环移动一位,即第 $i>1$ 位的整数移动到第 $i-1$ 位,原本位于第 $1$ 位的整数移动到最后一位。
每一秒,从每个序列的第一个位置取出一个整数,组成一个新数组。然后,对于 $x$ 从 $1$ 到 $m$,计算新数组中由仅包含 $x$ 的最长连续子段的长度。
上述操作持续执行 $10^{100}$ 秒。请你对于每个整数 $1$ 到 $m$,输出在所有时刻中,出现的该整数的最长连续子段长度。
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \le n,m \le 100000$),表示序列的个数和可能出现的最大整数。
接下来 $n$ 行,每行描述一个序列。每一行首先是一个整数 $k_i$($1 \le k_i \le 40$),表示该序列包含的整数个数,随后跟着 $k_i$ 个正整数,表示该序列的元素。这些元素均为互不相同的正整数,且不超过 $m$。
所有序列的总长度不超过 $200000$。
输出格式
输出 $m$ 个整数,第 $i$ 个表示在所有时刻新数组中仅由 $i$ 组成的最长连续子段长度。
说明/提示
由 ChatGPT 5 翻译