萌新求助qwq
  • 板块灌水区
  • 楼主李卓衡001
  • 当前回复14
  • 已保存回复14
  • 发布时间2023/6/3 09:52
  • 上次更新2023/10/23 14:02:19
查看原帖
萌新求助qwq
416160
李卓衡001楼主2023/6/3 09:52

题目描述 河里有 nn 块石头,可以看成数轴上的 nn 个正整数点,其中第 ii 块石头对应的位置用正整数 XiX_i 表示,保证位置两两不同。

一只青蛙在这些石头上跳。如果青蛙在第 ii 块石头上,它会从近到远找到离它第 kk 近的石头 jj。如果有两块石头都是第k k 近的,则找到的是 Xj 较小的一块 。青蛙一步会从ii跳到j j 上。

特别地,如果两个石头同时是第k k 近的,他们也同时是第k+1k+1近的,关于这句话可以看样例解释。

现在对于每块石头 ii,都需要输出从这块石头出发,跳恰好 mm 步会跳到哪块石头上。

输入格式 从标准输入读入数据。

第一行有 33 个由空格隔开的整数n n、k k和m m。保证 n,k<=10610^6,m<=101810^{18}。

第二行有 nn 个正整数,第ii个数表示第i i 块石头离左岸的距离Xi X_i。保证输入的 nn 个正整数严格递增,并且不超过 101810^{18}。

输出格式 输出到标准输出。

一行 nn 个由空格隔开的整数,第i i 个表示青蛙从第ii块石头开始跳,跳 mm 次后会在哪个石头上。

老师说用走指针+倍增链表,但是我还是有些没懂,最近老师又不在,所以求大佬讲解

2023/6/3 09:52
加载中...