P3498 [POI 2010] KOR-Beads
题目描述
Byteasar 有 $n$ 个珠子,第 $i$ 个颜色为 $a_i$,和一台机器。
Byteasar 可以选定一个值 $k$,然后机器会让 $1\sim k$ 的珠子组成项链 $b_1$,$k+1\sim 2k$ 的珠子组成项链 $b_2$,以此类推,**最后 $n\bmod k$ 个珠子不会组成项链,而是被丢弃**。
现在让你求出一个 $k$ 值,使得在 $\left\lfloor\dfrac{n}{k}\right\rfloor$ 个项链 $b$ 中,存在 **不同的** 项链数量最多。
项链可以反转,形式化地,$b_x$ 和 $b_y$ 不同,当且仅当存在至少一个 $i$,使得 $b_{x,i}\ne b_{y,i}$ 且 $b_{x,i} \ne b_{y,k-i+1}$。
例如 $[1,2,3]$ 和 $[3,2,1]$ 是相同的,而 $[1,2,3]$ 和 $[2,3,1]$ 是不同的。
输入格式
输入两行,第一行为 $n$。
第二行为 $n$ 个正整数,第 $i$ 个正整数代表 $a_i$。
输出格式
输出两行。
第一行两个整数,分别代表不同的项链最多的数量,以及不同的项链最多时,$k$ 的个数。
第二行若干个整数,代表所有能使不同的项链最多的 $k$ 值,这可以按任意顺序输出。
### 【样例解释】
$a$ 为 $[1,1,1,2,2,2,3,3,3,1,2,3,3,1,2,2,1,3,3,2,1]$。
- $k=1$ 的时候,我们得到 $3$ 个不同的项链 $b$:$[1],[2],[3]$。
- $k=2$ 的时候,我们得到 $6$ 个不同的项链:$[1,1],[1,2],[2,2],[2,3],[3,3],[3,1]$。
- $k=3$ 的时候,我们得到 $5$ 个不同的项链:$[1,1,1],[2,2,2],[3,3,3],[1,2,3],[3,1,2]$。
- $k=4$ 的时候,我们得到 $5$ 个不同的项链:$[1,1,1,2],[2,2,3,3],[3,1,2,3],[3,1,2,2],[1,3,3,2]$。
说明/提示
对于全部数据,$1\le n\le2\times 10^5$,且 $\forall 1\le i\le n$,有 $1\le a_i\le n$。