题目大意:

说在一条小溪上有n个石头,按照严格升序给出每个是石头到源头的距离。然后说有一群灰常SB的青蛙(每块石头上一只),每次它们会选择距离自己第k远的石头跳过去。(第i个石头和第j个石头的距离为abs(a[i] – a[j])),如果距离当前位置第k远的石头不止一个,那就调到距离源头更近的那个石头。问跳m次之后,最开始处在i位置上的青蛙最终会跳到哪个石头上。

输入输出样例

输入样例#1:

5 2 4
1 2 4 7 10

输出样例#1:

1 1 3 1 1

/*可以用一个队列来求出每个点第k远的点(神奇) 然后倍增处理跳2^i能到达的点,但是MLE,需要滚动数组。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define maxn 1000010
int f[maxn][20],n,k,ans[maxn];
long long a[maxn],m;
long long qread(){long long i=0;char ch=getchar();while(ch<'0'||ch>'9')ch=getchar();while(ch<='9'&&ch>='0'){i=i*10+ch-'0';ch=getchar();}return i;
}
int main(){//freopen("Cola.txt","r",stdin);scanf("%d%d",&n,&k);m=qread();for(int i=1;i<=n;i++)a[i]=qread();f[1][0]=k+1;int l=1,r=k+1;for(int i=2;i<=n;i++){while(r<n&&a[i]-a[l]>a[r+1]-a[i])l++,r++;f[i][0]=a[i]-a[l]>=a[r]-a[i]?l:r;}for(int i=1;i<=n;i++)ans[i]=i;for(int j=1;m;j++,m>>=1)for(int i=1;i<=n;i++){if(m&1)ans[i]=f[ans[i]][(j&1)^1];f[i][j&1]=f[f[i][(j&1)^1]][(j&1)^1];}for(int i=1;i<=n;i++)printf("%d ",ans[i]);
}

转载于:https://www.cnblogs.com/thmyl/p/7467970.html

洛谷P3509 [POI2010]ZAB-Frog相关推荐

  1. 【题解】洛谷P1914 小书童——密码 c++

    洛谷P1914 小书童--密码题解 c++ 题目 思路与代码 坑点 题目 密码是由原文字符串(由不超过 50 个小写字母组成)中每个字母向后移动 n位形成的. 他现在找到了移动前的原文字符串及 n,请 ...

  2. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  3. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

  4. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

  5. 洛谷P2763 试题库问题

    题目:https://www.luogu.org/problemnew/show/P2763 题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性. ...

  6. 动态规划——洛谷_P1057传球游戏

    题目: 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球, ...

  7. 洛谷P1417 烹调方案

    洛谷P1417 烹调方案 如果是一般的01背包的话 选的先后是没关系的 但是这题选的先后是有关系的,因为他的价值是随着时间而变化的, 而你的01背包是做不到先选2再选1的 那么我们就跟国王游戏一样 用 ...

  8. 记忆优化搜索(简单题)(洛谷P3183 [HAOI2016]食物链 )( P5635 【CSGRound1】天下第一 )

    昨天做了蓝桥杯的时候,发现自己对于记忆优化搜索甚是不熟悉,所以今天随便找了几个基础题做做,顺便写下两片题解,顺便用了一下devc++敲的代码,发现没有代码补全真的可以说是灰常难受了... 洛谷P318 ...

  9. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  10. 洛谷专题训练 ——【算法1-1】模拟与高精度

    洛谷题单[算法1-1]模拟与高精度 ACM-ICPC在线模板 题单链接: [算法1-1]模拟与高精度 下面的这一坨都是洛谷题单上的东东 题单简介 恭喜大家完成了第一部分语言入门,相信大家已经可以使用 ...

最新文章

  1. 【学习笔记】2019-Learning_UVOS_Through_Visual_Attention
  2. js全局变量和局部变量
  3. U盘文件系统类型 和 linux 挂载 和 卸载
  4. [设计模式-结构型]适配器(Adapter)
  5. 面试了二十多个人,终于定下来一个
  6. mysql写入不了数据文件_求助,为何我的数据不能写入数据库
  7. HBase-shell及happyhbase
  8. 神经网络全连接层详解
  9. 使用Ehome协议将设备接入EasyCVR无法注册成功原因排查
  10. python全局变量
  11. 前端超炫表白干货(一)
  12. 【利用树莓派制作无线打印服务器】
  13. 海思开发:yolo v5s :pytorch->onnx->caffe->nnie
  14. 怎么利用抖音进行网络推广?短视频营销如何做推广?
  15. Boot电容(自举电容)的工作原理
  16. 网络工具Netwox和Wireshark详解
  17. python微博爬虫实战_爬虫实战(一):爬取微博用户信息
  18. AndroidUtilCode 介绍和使用
  19. rt-n13u无线打印机服务器,全新体验 华硕RT-N13U雕琢无线打印生活
  20. 改好DEBUG七处缺点的comexe实现报告

热门文章

  1. Oracle 正则表达式函数-REGEXP_REPLACE 使用例子
  2. Ubuntu source insight3稳定性
  3. JS 在 HTML 中做加减乘除
  4. Postfix+Dovecot搭建MailServer配置说明
  5. 知乎面试官:为什么不建议在 MySQL 中使用 UTF-8?
  6. 刚刚用鸿蒙跑了个“hello world”!跑通后,我特么开始怀疑人生....
  7. 太强了!这款轻量级中间件几行代码就搞定SpringBoot的分库分表问题
  8. CTO发飙:不要在Java代码中写set/get方法了,逮一次罚款***
  9. 工行基于MySQL构建分布式架构的转型之路
  10. IT江湖,哪个门派最挨踢?