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

补题蓝桥杯14届JavaB组第4题

算法:动态规划

需要两个一维数组来进行dp

一个用来记录到当前位置的最短时间,另一个用来记录到达当前位置传送门的最短时间

到达传送门的时间需要进行判断,如果上一次传送到达传送门,需要判断上一次传送到这的位置在当前传送门的上方,还是下方

public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] x = new int[n + 1];int[] a = new int[n + 1];int[] b = new int[n + 1];for (int i = 1; i <= n; i++) {x[i] = sc.nextInt();}for (int i = 1; i <= n - 1; i++) {a[i] = sc.nextInt();b[i + 1] = sc.nextInt();}double[][] dp = new double[n + 1][2];dp[1][0] = x[1];//到这个节点的时间dp[1][1] = x[1] + a[1] / 0.7;//到这个节点传送门的最短时间for (int i = 2; i <= n; i++) {if (a[i] <= b[i]) {dp[i][1] = Math.min(dp[i - 1][0] + x[i] - x[i - 1] + a[i] / 0.7, dp[i - 1][1] + (b[i ] - a[i]) / 1.3);} else {dp[i][1] = Math.min(dp[i - 1][0] + x[i] - x[i - 1] + a[i] / 0.7, dp[i - 1][1] + (a[i] - b[i]) / 0.7);}dp[i][0] = Math.min(dp[i - 1][1] + b[i] / 1.3, dp[i - 1][0] + x[i] - x[i - 1]);}System.out.printf("%.2f",dp[n][0]);}
}

http://www.lryc.cn/news/543883.html

相关文章:

  • kotlin的函数标准库使用
  • Visual Studio Code 跨平台安装与配置指南(附官方下载链接)
  • STM32学习【4】ARM汇编(够用)
  • Linux驱动开发实战(一):LED控制驱动详解
  • windows下安装pyenv+virtualenv+virtualenvwrapper
  • Cherno 游戏引擎笔记(91~111)
  • 0x02 js、Vue、Ajax
  • Windows 11【1001问】删除Win11左下角小组件的6种方法
  • 【动手学深度学习】基于Python动手实现线性神经网络
  • leetcode 912. 排序数组
  • 【芯片设计】NPU芯片前端设计工程师面试记录·20250227
  • BUU40 [CSCCTF 2019 Qual]FlaskLight1【SSTI】
  • WiFi IEEE 802.11协议精读:IEEE 802.11-2007,6,MAC service definition MAC服务定义
  • 2025学年安徽省职业院校技能大赛 “信息安全管理与评估”赛项 比赛样题任务书
  • VAE变分自编码器的初步理解
  • 2025 最新版鸿蒙 HarmonyOS 开发工具安装使用指南
  • Rider 安装包 绿色版 Win/Mac/Linux 适合.NET和游戏开发者使用 2025全栈开发终极指南:从零配置到企业级实战
  • Python常见面试题的详解24
  • 手机打电话时如何识别对方按下的DTMF按键的字符-安卓AI电话机器人
  • RabbitMQ操作实战
  • IDEA 2024.1 最新永久可用(亲测有效)
  • 【R包】pathlinkR转录组数据分析和可视化利器
  • RPA 与 AI 结合:开启智能自动化新时代
  • [免费]Springboot+Vue在线文档管理系统【论文+源码+SQL脚本】
  • 内容选题与商业布局
  • 文字描边实现内黄外绿效果
  • 网络协议 HTTP、HTTPS、HTTP/1.1、HTTP/2 对比分析
  • 千峰React:Hooks(上)
  • salesforce 为什么无法关闭task,显示:insufficient access rights on object id
  • 机器学习:强化学习的epsilon贪心算法