HDU-5935 Car 逆推 贪心 精度

题意

1 主人公从0开始开始跑
2 使用速度非递减技能
3 警察记录下了多个整数时间点他的位置 整数时间点不明确
让我们求主人公所花费的最小时间跨越过最后一个位置点 

分析

本体选用逆推处理
为啥用逆推 因为速度是非递减的 如果从前面推 会导致不断重复修改 前面的时间 时间不好把握最小
所以从后往前看每一段的速度就是递减的
为了保证最小 所以不如让最后一段的时间是个1 这里贪心一下 当求出最后一段的速度后 前面的每一段的速度都只能相同 或更慢 决不能更快
由于题目说明每个时间点是整数 所以每个时间点按照后面一段的速度求出来的时间一定是最快的
因为只能小于等于后面的速度 所以按照后面的速度求出来的时间必定是最快的 由于是整数所以
要向上取整 向下取整可能会比后面的速度快 不符题意 只能向上取整
开始速度用double做 一直WA 后来改用分数做后就A了- -
还是精度的地方惹不起 double的地方惹不起 还有ceil等返回值为double的地方惹不起

CODE

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
typedef long long ll;
const int maxn = 1e5+5;
ll a[maxn];
int main()
{int t;scanf("%d",&t);for(int j=1;j<=t;j++){int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);ll sum=0,lastt=0;int lvm=0,lvz=0;for(int i=n-1;i>=0;i--){ll p = a[i+1]-a[i];if(i==n-1)lastt=1,sum++;else{ll t = (ll)ceil(p*lastt/(double)lvz);//如果本段的距离小于上一段的 那么本段的速度不能比上一段的高 只能>=lastv 就直接带入上一段的速度取ceil 表示慢一点由于是整数所以就只能是慢一点sum+=t; //如果本段距离大于上一段的 那么就用上一段的速度 求出t来向上取整lastt=t;}lvm = lastt,lvz = p;}printf("Case #%d: %lld\n",j,sum);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Leedcode][JAVA][第1300题][转变数组后最接近目标值的数组和][前缀和][二分法][暴力]

【问题描述】[中等] 给你一个整数数组 arr 和一个目标值 target &#xff0c;请你返回一个整数 value &#xff0c;使得将数组中所有大于 value 的值变成 value 后&#xff0c;数组的和最接近 target &#xff08;最接近表示两者之差的绝对值最小&#xff09;。如果有多种使得…

线性系统的基本理论与运算

线性系统的基本理论与运算 线性系统与非线性系统 线性系统的基本理论 二维线性移不变系统 线性移不变系统 如果一个系统既是线性系统&#xff0c;又是移不变系统&#xff0c;则该系 统是线性移不变系统。

行云管家堡垒机 导入腾讯云主机

行云管家堡垒机 导入腾讯云主机 如何实现了对多家云厂商多种云计算资源的集中管理&#xff0c;从成本、监控、备份、安全等多个维度提供统一运维管控&#xff1f; 工具/原料 行云管家堡垒机方法/步骤 Step1&#xff1a;注册登录 登录行云管家&#xff0c;支持QQ、微信、微博、G…

HDU - 5438 Ponds 拓扑 dfs

题意 在一个图中 给出了每个点得权值和连边 想要尽可能删除一些联通的点数小于2的点 删完后 求最后剩下联通块内点得数量是奇数的权值和 分析 本题由于在删除点得过程中需要考虑 当把当前点删除后 其联通的点也有可能会因为当前点得删除而连边小于2同时删除 考虑拓扑排序 建…

(总结)HTTP常见错误返回代码

&#xff08;总结&#xff09;HTTP常见错误返回代码 HTTP返回状态代码 当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时&#xff0c;Web服务器返回一个表示该请求的状态的数字代码。该状态代码记录在服务器日志中&#xff0c;同时也可能在 Web 浏览器或 FTP客户端显示…

MyBatis面试题(2020最新版)

目录MyBatis简介MyBatis是什么&#xff1f;ORM是什么为什么说Mybatis是半自动ORM映射工具&#xff1f;它与全自动的区别在哪里&#xff1f;传统JDBC开发存在的问题JDBC编程有哪些不足之处&#xff0c;MyBatis是如何解决这些问题的&#xff1f;Mybatis优缺点MyBatis框架适用场景…

Java学习笔记9-2——JavaWeb

文章目录JavaBeanMVC三层架构Filter过滤器Listener监听器JDBC文件上传Servlet邮件发送ServletJavaBean 实体类 JavaBean有特定的写法&#xff1a; 必须要有一个无参构造&#xff1b;属性必须私有化&#xff1b;必须有对应的get/set方法&#xff1b; 一般用来和数据库的字段…

linux日常常用命令分析

日志处理&#xff1a;测试网络路由&#xff1a; xargs使用方法&#xff1a;tcpdump命令分析&#xff1a;dd 写入磁盘测试cpu个数&#xff1a;查看网卡流量查看端口联通情况,临时加端口ntpdate同步&#xff1a;可以取出变动的密码&#xff1a;导堆栈&#xff1a;根据进程id查看程…

离散傅立叶变换

离散傅立叶变换 一维离散傅里叶变换 二维离散傅里叶变换(2D-DFT) 、图像傅里叶变换的意义 &#xff08;1&#xff09;简化计算&#xff0c;也即傅里叶变换可将空间域中复杂的卷 积运算转化为频率域中简单的乘积运算。 &#xff08;2&#xff09;对于某些在空间域中难于处理或…

[Leedcode][JAVA][第14题][最长公共前缀][二分][横竖扫描][分治]

【问题描述】[中等] 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀&#xff0c;返回空字符串 ""。示例 1:输入: ["flower","flow","flight"] 输出: "fl" 示例 2:输入: ["dog","raceca…

【模板】在build中配置resources来防止我们资源导出失败的问题

在build中配置resources&#xff0c;来防止我们资源导出失败的问题 <!--在build中配置resources&#xff0c;来防止我们资源导出失败的问题--><build><resources><resource><directory>src/main/resources</directory><includes><…

JDBC_设计架构_驱动类加载_建立Connection_效率测试

JDBC(Java DataBase Connection) 访问数据库流程&#xff1a;驱动管理器--连接数据库--sql语句--结果集 装载mysql驱动 Class.forName("com.jdbc.mysql.Driver"); DriverManager接口是JDBC的管理器&#xff0c;作用于用户和驱动程序之间。 Demo1.java package com.qh…

HDU-4793 Collision 计算几何 解方程

题意 给我们两个大小不同的圆的半径小圆是实心的 大圆是空心的 然后给我们一个小球的半径 小球的初始位置 还有飞碟在x方向和y方向上的速度 小球撞到内实心圆会能量不损失的反弹 问小球任何位置与大圆相交到完全出去的时间是多少 分析 几何题 如何知道时间呢 如果小球与大圆…

图像傅里叶变换频谱分析

图像的傅里叶频谱特性分析 图像傅里叶频谱关于(/&#xff0c;/)的对称性 图像傅里叶频谱特性及其频谱图 傅里叶变换在图像处理中的应用

[剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]

【问题描述】[中等] 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列…

Java学习笔记10-1——MyBatis

文章目录简介第一个Mybatis程序搭建环境导入Mybatis&#xff0c;编写配置文件编写代码测试了解一下官方文档的建议实现增删改查select、insert、update、delete使用map进行CRUD模糊查询配置解析(mybatis-config.xml)核心配置文件mybatis-config.xml环境配置&#xff08;environ…

时间

//Step1: 定义任务函数: 计算当前时间距离target时间的时间差var targetnew Date("2019/3/01 18:00:00");function calc(){//获得当前系统时间保存在变量now中var nownew Date();//用target-now&#xff0c;再除1000&#xff0c;获得秒差&#xff0c;保存在变量s中va…

图像的离散余弦变换

Discrete Cosine Transform&#xff0c;简写为DCT 函数的偶对称性使DCT只有实数域变换结果, 不再涉及复数运算&#xff0c;运算简单&#xff0c;费时少&#xff1b; 又保持了变换域的频率特性&#xff1b; 与人类视觉系统特性相适应&#xff1b; 得到了更加广泛的应用。 二维…

【匈牙利算法】【二分图匹配】【转载】趣写算法系列之--匈牙利算法

转载自&#xff1a;http://blog.csdn.net/dark_scope/article/details/8880547 【书本上的算法往往讲得非常复杂&#xff0c;我和我的朋友计划用一些简单通俗的例子来描述算法的流程】 匈牙利算法是由匈牙利数学家Edmonds于1965年提出&#xff0c;因而得名。匈牙利算法是基于H…

Rest Framework

目录导航 一、RESTful 规范 二、APIView 组件 三、序列化组件 四、认证组件 五、权限组件 六、频率组件 七、分页器组件 一、RESTful 规范 什么是RESTful规范&#xff1a; REST与技术无关&#xff0c;代表的是一种软件架构风格&#xff0c;REST是Representational State Transf…