#P7282. [COCI2020-2021#4] Hop

[COCI2020-2021#4] Hop

题目背景

杰瑞米是一个牛蛙,是我的一个好朋友。

题目描述

nn 片百合花,它们分别从 11nn 依次编号。第 ii 片上有一个整数 xix_i,而序列 (xi)1in(x_i)_{1 \le i \le n} 单调递增。

三只青蛙到来。

每对满足 a<ba \lt b 的百合 (a,b)(a,b) 必须属于青蛙 1,21,233 中的其中一只。

当百合 (i,j)(i,j) 属于一只青蛙且 xjx_j 能被 xix_i 整除时(j>ij \gt i),该青蛙可以从 ii 号百合跳动到第 jj 号。

请找出一种分类方案,使得任何一只青蛙都不会连续跳动 33 次。

输入格式

第一行输入一个正整数 nn,表示百合花的数量。

第二行输入 nn 个正整数 xix_i,表示百合花上的整数。

输出格式

输出 n1n-1 行。第 ii 行输出 ii 个整数,其中该行第 jj 个整数表示 (j,i+1)(j,i+1) 所归属的青蛙。

8
3 4 6 9 12 18 36 72
1
2 3
1 2 3
1 2 3 1
2 3 1 2 3
1 2 3 1 2 3
1 2 3 1 2 3 1
2
10 101
1

提示

样例 1 解释

青蛙 1,2,31,2,3 分别用蓝、绿和红色代替。

蓝蛙可以从 x1=3x_1=3 跳动到 x4=9x_4=9,再跳动到 x7=36x_7=36,再到 x8=72x_8=72。该青蛙只能进行 33 次连续的跳动。

绿蛙可以从 x2=4x_2=4 跳动到 x5=12x_5=12,再跳动到 x7=36x_7=36。该青蛙只能进行 22 次连续的跳动。

红蛙不能从 x2=4x_2=4 跳动到 x3=6x_3=6,因为 66 不能被 44 整除。

数据规模与约定

本题采用捆绑评测。

Subtask 分值 数据范围及约定
11 1010 n30n \le 30
22 100100

对于 100%100\% 的数据,1n10001 \le n \le 10001xi10181 \le x_i \le 10^{18}

评分方式

在输出方案中,如果其中一只青蛙可以连续跳动 kk 次,其中 k>3k \gt 3,而没有青蛙可以连续跳动 k+1k+1 次,则对应测试点的分数为 f(k)xf(k)·x 分,其中:

$$f(k)=\dfrac{1}{10}· \begin{cases} 11-k & (4 \le k \le 5) \cr 8-\lfloor {\dfrac{k}{2}} \rfloor & (6 \le k \le 11) \cr 1 & (12 \le k \le 19) \cr 0 & (k \ge 20) \cr \end{cases}$$

xx 为对应子任务的总分。每个子任务的得分等于该子任务中所有测试点得分的最小值。

因本题的评分方式特殊,因而启用非官方的自行编写的 Special Judge,也可以在附件中下载。欢迎大家 hack(可私信或直接发帖)。

说明

本题分值按 COCI 原题设置,满分 110110

题目译自 COCI2020-2021 CONTEST #4 T3 Hop