CF2147I1 Longest Increasing Path (Easy Version)
题目描述
这是该问题的简单版本。不同版本之间的区别在于本版本的第二组测试数据为 $n=100\,000$。本题不允许进行 Hack 操作。
我们称一个整数序列 $a_1, a_2, \ldots, a_n$ 为“距离凸”序列,如果对每个 $1 < i < n$ 都有 $|a_{i} - a_{i-1}| < |a_{i+1} - a_{i}|$。换句话说,如果你依次按顺序跳跃到 $a_1, a_2, \ldots, a_n$ 这些数轴上的点,每一次跳跃都比上一次要严格更远。
给定两个整数 $n$ 和 $m$。请你构造一个长度为 $n$ 的距离凸序列 $a$,其中最多包含 $m$ 个不同的数值。对于跳跃来说,这意味着你需要进行 $n-1$ 次跳跃,每次的距离严格递增,同时访问的不同点数不超过 $m$。保证所有 $1\leq i\leq n$ 都满足 $-10^{18} \leq a_i \leq 10^{18}$。
输入格式
输入包含两个整数 $n$ 和 $m$,在一行中给出。
本题仅有两组测试数据。
- $n = 8$,$m = 6$;
- $n = 100\,000$,$m = 15\,000$。
保证这两组数据均存在解。本题不允许 Hack 操作。
输出格式
输出一个长度为 $n$ 的距离凸序列 $a_1, a_2, \ldots, a_n$,该序列最多包含 $m$ 个不同的数,且对所有 $1\leq i\leq n$,$-10^{18} \leq a_i \leq 10^{18}$ 成立。
如果有多组满足条件的解,输出任意一组即可。
说明/提示
序列 $[1, 1, 3, 6, 10, 3, 11, 1]$ 的长度为 $n=8$,包含 $5$ 个不同的数,不超过 $m=6$。相邻元素之间的差值为 $0,2,3,4,7,8,10$,构成一个严格递增的数列。
$[1, 1, 2, 4, 8, 16, 32, 1]$ 也是一种合法解答。
由 ChatGPT 5 翻译