首页 > 其他分享 >蜗牛(基础动态规划)

蜗牛(基础动态规划)

时间:2024-03-27 10:57:25浏览次数:26  
标签:min int 蜗牛 0.7 Math new 动态 规划 dp

 1 import java.util.Scanner;
 2 // 1:无需package
 3 // 2: 类名必须Main, 不可修改
 4 
 5 public class Main {
 6     public static void main(String[] args) {
 7         Scanner sc = new Scanner(System.in);
 8         int n = sc.nextInt();
 9         int[] x = new int[n+1];
10         int[] a = new int[n+1];
11         int[] b = new int[n+1];
12         for(int i = 1;i<=n;i++){
13             x[i] = sc.nextInt();
14         }
15         for(int i = 1;i<n;i++){
16             a[i] = sc.nextInt();
17             b[i+1] = sc.nextInt();
18         }
19 
20         double[][] dp = new double[n+1][2];
21         dp[1][0] = x[1];
22         dp[1][1] = x[1] + a[1]/0.7;
23 
24 
25         for(int i = 2;i <= n;i++){
26             if(a[i]>b[i]){
27                 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);
28             }else {
29                 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);
30             }
31             dp[i][0] = Math.min(dp[i-1][1] +b[i]/1.3 ,dp[i-1][0]+x[i]-x[i-1]);
32 
33         }
34 
35 
36         System.out.printf("%.2f",dp[n][0]);
37         //在此输入您的代码...
38         sc.close();
39     }
40 }

 

标签:min,int,蜗牛,0.7,Math,new,动态,规划,dp
From: https://www.cnblogs.com/saucerdish/p/18098431

相关文章

  • 网络攻防中黑客常用的十大渗透测试演练系统,百款渗透测试工具集合,安卓防逆向、防动态分
    网络攻防中黑客常用的十大渗透测试演练系统,百款渗透测试工具集合,安卓防逆向、防动态分析、渗透测试及加固详细教程。对目标机器进行全面的渗透测试是一个复杂的过程,需要遵循一系列的步骤来确保系统的安全性。以下是一个详细的渗透测试流程,包括关键步骤和一些基本的命令或......
  • 动态表单校验
    单个的表单域上传递属性的验证规则记录一次动态表单嵌套动态表单,前端必填校验的问题。之前没怎么写过前端代码,看文档也不够仔细~~按常规方法写完页面之后,测试发现校验都加上去了,但是填写内容之后校验也一直在,并且添加的中文校验提示没生效,一直是英文的提示。页面大致长下面......
  • 德勤大型企业业务流程优化及ERP整体规划方案(86页PPT)
    原文《德勤大型企业业务流程优化及ERP整体规划方案》PPT格式,共86页。纵向:建立统分并举的‘人、财、物、销’二级管控平台。横向:合理定位管控信息化与专业信息化平台。来源网络公开渠道,旨在交流学习,如有侵权联系速删,更多参考公众号:优享智库​原文《德勤大型企业业务流程优......
  • 运动规划_碰撞检测算法之分离轴定理
    运动规划:碰撞检测算法之分离轴定理附赠自动驾驶全套学习资料和量产经验:链接如上文所述,基于包围形的方法是一种粗略的碰撞检测方法,基于外接圆形的方法运算速度很快,但精度很差;基于轴对齐包围矩形(AABB)的方法适合本身就是矩形的物体,其运算速度非常快,但检测精度还是不够。1......
  • 自动驾驶运动规划:碰撞检测算法之分离轴定理
    运动规划:碰撞检测算法之分离轴定理附赠自动驾驶全套学习资料和量产经验:链接如上文所述,基于包围形的方法是一种粗略的碰撞检测方法,基于外接圆形的方法运算速度很快,但精度很差;基于轴对齐包围矩形(AABB)的方法适合本身就是矩形的物体,其运算速度非常快,但检测精度还是不够。1、OBB......
  • 代理模式(静态代理和动态代理)
    1.静态代理    静态代理中代理类与被代理类都需要实现同一个接口,这就说明我们的一个静态代理类只能代理一个类,并且还要事先知道我们要代理哪个类才能写代理类,如果我们有其他类还想使用代理那就必须再写一个代理类。【1】测试案例:法外狂徒张三叫律师打官司packageco......
  • jinja2 通过Template. make_module 进行动态macro 创建以及macro 方法调用
    实际属于一个小技巧,可以实现比较灵活的jinja2扩展,是从dbt对于macro的处理部分学习到的参考代码app.pyfromjinja2importEnvironment env=Environment() #定义macro的内容macro_template="""{%macromydemo(name,age)-%}{{name......
  • .NET Emit 入门教程:第五部分:动态生成方法(MethodBuilder 与 DynamicMethod)
    前言:当我们涉及到在运行时生成和定义方法时,便需要使用到C#中的两个关键类之一:MethodBuilder 或 DynamicMethod。这两者都属于反射(Reflection.Emit)的一部分,允许我们以动态的方式创建方法。两者各有侧重,使用方式大体相同,本篇文章我们先介绍MethodBuilder,再介绍DynamicMethod,......
  • C++动态内存管理
    目录C/C++内存分配C++内存管理C++内存管理介绍C++内存管理使用C++内存管理基本语法operatornew和operatordelete函数定位new表达式(placement-new)基本语法使用场景malloc/free和new/delete相同点不同点C/C++内存分配在C语言动态内存管理章节已经了解到内......
  • 张雪峰原来是这样规划孩子教育的!网友热议:新中产阶级如何避开“鸡娃”困境?
    近期张雪峰用心为女儿选择学校又上了热搜。身为父亲,他倾向于留在香港或新加坡,为孩子规划教育未来。之前刷到个考研名师张雪峰的采访视频很有感触。大概意思是记者问他将来会让女儿考研吗?没想到他的回答是:对我女儿来讲,学历不是很重要的,因为她将来不用为生计所累。我给我女......