当前位置: 首页 > news >正文

牛客多校04L :Ladder Challenge

题目大意

给你 nnn 个数 a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,假如你有一个数 xxx 你可以对其进行以下的操作:选择一个最小的 iii 满足 ai>xa_i>xai>x,然后令 ai=ai−1,x=x+1a_i=a_i-1,x=x+1ai=ai1,x=x+1

现在有 qqq 次询问,每次询问给你一个数 xxx 和一个目标排名 rankrankrank,请求出最小的操作次数满足 x≥arankx\ge a_{rank}xarank

思路

比赛的时候过完五题只剩下50min了,想了一个大概的思路冲了一发,但是没过,后面发现是有一个细节没考虑到。

我的切入角度是考虑 aaa 数组差分的变化(大概的变化),然后我发现最开始 xxx 的贡献会逐渐减半,因此到最后会变成0或者1(如果做题做的比较多的话会知道有一些情况可能会一直保持1)。

不过我一开始以为之和 xxx 的奇偶性有关,但是打了一个表发现这种做法是不对的。

无论是奇数还是偶数,在操作完大概 log⁡A\log AlogA 次以后就会变成一样的。

然后我构造出了一种比较特殊的情况

10000 2
4 5 6 7 .... 10003
3 1
4 1

比如这一种,操作完以后前 n−1n-1n1 个都是不变的,但是第 nnn 个就会相差 111

原因是每次操作完以后两次询问的 xxx 始终相差 111

因此我们可以先另 x=0x=0x=0,然后记录每次操作以后的数是什么

然后在求如果在某个位置当前的数比 x=0x=0x=0 到达的数多 111,那么最多会延伸到哪里

code

http://www.dtcms.com/a/296112.html

相关文章:

  • 基于MASAC算法的建筑群需求响应系统设计与实现
  • 个人电脑 LLMOps 落地方案
  • pytest官方Tutorial所有示例详解(二)
  • 【AI】Java生态对接大语言模型:主流框架深度解析
  • FastAPI中间件
  • 如何在 conda 中删除环境
  • 常见半导体的介电常数
  • 告别下载中断:深入解析Tomcat JSP中的“远程主机强迫关闭连接”与“软件中止连接”
  • 理解传统部署下 Tomcat 核心组件与请求链路全流程
  • 详解力扣高频 SQL 50 题之584. 寻找用户推荐人【入门】
  • SpringBoot + Thymeleaf 实现模拟登录功能详解
  • SQL173 店铺901国庆期间的7日动销率和滞销率
  • 比例谐振控制器(PR控制器)在交流系统中的应用原理详细解析
  • Ubuntu安装jdk、上传jar包、运行java、配置域名、nginx接口映射、配置https域名
  • 一文读懂 HTTPS:证书体系与加密流程
  • HttpServletRequestWrapper存储Request
  • ORACLE DATABASE 23AI+Apex+ORDS -纯享版
  • 内网IM:BeeWorks私有化部署的安全通讯解决方案
  • 7.24路由协议总结
  • 使用Python采集招聘网站数据并智能分析求职信息
  • 11款Scrum看板软件评测:功能、价格、优缺点
  • 【News】同为科技亮相首届气象经济博览会
  • Ollama(5)服务接口压力测试
  • 【docker | 部署 】Jetson Orin与AMD平台容器化部署概述
  • 《 Spring Boot启动流程图解:自动配置的真相》
  • 美林数据用大模型重构电能质量评估,让隐蔽合规问题无所遁形
  • Lua(模块与包)
  • Lua循环流程控制
  • Spring Boot 请求参数绑定:全面解析常用注解及最佳实践
  • 13-C语言:第13天笔记