CF2147I1.Longest Increasing Path (Easy Version)

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是该问题的简单版本。不同版本之间的区别在于本版本的第二组测试数据为 n=100 000n=100\,000。本题不允许进行 Hack 操作。

我们称一个整数序列 a1,a2,…,ana_1, a_2, \ldots, a_n 为“距离凸”序列,如果对每个 1<i<n1 < i < n 都有 ∣ai−ai−1∣<∣ai+1−ai∣|a_{i} - a_{i-1}| < |a_{i+1} - a_{i}|。换句话说,如果你依次按顺序跳跃到 a1,a2,…,ana_1, a_2, \ldots, a_n 这些数轴上的点,每一次跳跃都比上一次要严格更远。

给定两个整数 nn 和 mm。请你构造一个长度为 nn 的距离凸序列 aa,其中最多包含 mm 个不同的数值。对于跳跃来说,这意味着你需要进行 n−1n-1 次跳跃,每次的距离严格递增,同时访问的不同点数不超过 mm。保证所有 1≤i≤n1\leq i\leq n 都满足 −1018≤ai≤1018-10^{18} \leq a_i \leq 10^{18}。

输入格式

输入包含两个整数 nn 和 mm,在一行中给出。

本题仅有两组测试数据。

  • n=8n = 8,m=6m = 6;
  • n=100 000n = 100\,000,m=15 000m = 15\,000。

保证这两组数据均存在解。本题不允许 Hack 操作。

输出格式

输出一个长度为 nn 的距离凸序列 a1,a2,…,ana_1, a_2, \ldots, a_n,该序列最多包含 mm 个不同的数,且对所有 1≤i≤n1\leq i\leq n,−1018≤ai≤1018-10^{18} \leq a_i \leq 10^{18} 成立。

如果有多组满足条件的解,输出任意一组即可。

输入输出样例

  • 输入#1

    8 6

    输出#1

    1 1 3 6 10 3 11 1

说明/提示

序列 [1,1,3,6,10,3,11,1][1, 1, 3, 6, 10, 3, 11, 1] 的长度为 n=8n=8,包含 55 个不同的数,不超过 m=6m=6。相邻元素之间的差值为 0,2,3,4,7,8,100,2,3,4,7,8,10,构成一个严格递增的数列。

[1,1,2,4,8,16,32,1][1, 1, 2, 4, 8, 16, 32, 1] 也是一种合法解答。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页