奶牛贝茜正在参加冬季哞林匹克运动会的越野滑雪比赛。

她以每秒 1 米的速度出发。

但是,随着时间的推移,她变得越来越疲倦,她开始放慢脚步。

每次放慢脚步,贝茜的速度都会降低:减速一次后,她以每秒 1/2 米的速度移动,减速两次后,则以每秒 1/3 米的速度移动,依此类推。

你将被告知何时何地贝茜会减速。

当减速信息格式为:

T 17
意味着,贝茜在某个时间点减速,本例表示比赛开始第 17 秒贝茜减速。

当减速信息格式为:

D 10
意味着,贝茜在某个地点减速,本例表示在行进 10 米处减速。

给定 N 个减速信息,请计算贝茜滑完一千米需要多少秒。

将你的答案四舍五入到最接近的整数( 0.5 向上舍入为 1)。

输入格式
第一行包含整数 NNN。

接下来 NNN 行,每行描述一个减速信息,格式为 T xD x

无论哪种情况,x 都是一个整数,保证所有减速都在贝茜滑完一千米前发生。

可能同时发生多次减速,那么这会使得贝茜的速度一下子变慢很多。

所有减速信息不一定按顺序给出。

输出格式
输出贝茜滑完一千米所需的总时间。

数据范围
1≤N≤100001≤N≤100001≤N≤10000

输入样例:

2
T 30
D 10

输出样例:

2970

样例解释
贝茜以每秒 1 米的速度跑完前 10 米,耗时 10 秒。

然后她减速到每秒 1/21/21/2 米,接下来的 10 米要花 20 秒。

然后她在第 30 秒时,再次减速到每秒 1/3 米。

滑完剩下的 980 米需要 980×3=2940980×3=2940980×3=2940 秒。

因此,总时间是 10+20+2940=297010+20+2940=297010+20+2940=2970 秒。


两路归并

#include<iostream>
#include<algorithm>
#include<vector>using namespace std;const int N = 10010;int n;
vector<int> a, b;int main(){scanf("%d", &n);char str[2];int x;while(n--){scanf("%s%d", str, &x);if(*str == 'T') a.push_back(x);else b.push_back(x);}b.push_back(1000);sort(a.begin(), a.end());sort(b.begin(), b.end());double t = 0, s = 0, v = 1;  // v是倒数int i = 0, j = 0;while(i < a.size() && j < b.size()){if(a[i] - t < (b[j] - s) * v){s += (a[i] - t) / v;t = a[i];v++;i++;}else{t += (b[j] - s) * v;s = b[j];v++;j++;}}while(i < a.size()){s += (a[i] - t) / v;t = a[i];v++;i++;}while(j < b.size()){t += (b[j] - s) * v;s = b[j];v++;j++;}printf("%.0lf\n", t);return 0;
}

贝茜放慢脚步(寒假每日一题 14)相关推荐

  1. AcWing 1934. 贝茜放慢脚步(二路归并)

    题目链接 https://www.acwing.com/problem/content/description/1936/ 思路 题目的标签是二路归并,其实就是贪心,可以对比我们之前学习归并算法那里, ...

  2. AcWing寒假每日一题2058. 笨拙的手指

    AcWing寒假每日一题2058. 笨拙的手指 题目描述 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果 ...

  3. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.11日(2017省赛A第9题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家看博客目录:https://b ...

  4. 【寒假每日一题】剪绳子(个人练习)详细题解+推导证明(第六天)

    文章目录 前言 题目 详细题解 写法1 O(nlogn)O(nlogn)O(nlogn) 推导证明 举一反三 总结 前言 今天终于出核酸检测的结果,还好大家都没事,不然怕是要封城了!!! 今天还是寒假 ...

  5. 【寒假每日一题】分巧克力(个人练习)详细题解+推导证明(第八天)附带转载程序员壁纸

    文章目录 前言 题目 详细题解 写法1 O(nlogn)O(nlogn)O(nlogn) 推导证明 举一反三 总结 前言 话说今天开始准备搞一个秋招的GitHub,算是复习一遍了. 今天还是寒假每日一 ...

  6. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.20日(2018省赛A组第8题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...

  7. 【寒假每日一题】数字三角形(个人练习)详细题解+推导证明(第二天)

    文章目录 前言 题目 详细题解 写法1 O ( n 2 ) O(n^2) O(n2) 推导证明 写法2 O ( n 2 ) O(n^2) O(n2) 推导证明 举一反三 总结 前言 昨天真是人生中奇葩 ...

  8. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.19日(2018省赛A组第7题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...

  9. 倪文迪陪你学蓝桥杯2021寒假每日一题:2.1日(2019省赛A组第10题)

    2021年寒假每日一题,2017~2019年的省赛真题.本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供.每日一题,关注蓝桥杯专栏: https://blog.csdn.net/w ...

  10. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.15日(2018省赛A组第3题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...

最新文章

  1. 02.Apollo配置中心整合spring cloud zuul
  2. Mocha and Red and Blue 模拟字符串
  3. 用SonBuddy搭建无线局域网,共享上网。(SONBuddy常见问题,无线组网,共享,上网,笔记本)...
  4. java.lang.UnsatisfiedLinkError: Library not loaded: @rpath/libo.dylib Reason: image not found
  5. Vue使用iconfont图标
  6. matlab:圆形的图像识别(二)
  7. 进程中出现n多的conime.exe怎么办
  8. 微信小程序入门,可跳过
  9. python3 打点计时
  10. python ddos攻击器
  11. CentOS 7 虚拟机网卡失效问题:ens33:<NO-CARRIER,BROADCAST,MULTICAST,UP>mtu 1508 gdisc pf ifo_fast state DOWN
  12. Html中如何自定义Video显示的长宽比
  13. MIPI扫盲系列博文
  14. 华为机试HJ69:矩阵乘法
  15. 一些文学常识。。。。。。
  16. 数据库SQL实战 --42.将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
  17. MAC系统IDEA快捷键大全
  18. 库卡工业机器人负载曲线图_KUKA/库卡机械臂 KR500 R2830工业机器人负载500KG
  19. 手机与基站如何互相识别?
  20. [办公软件教程] Excel迷你图在哪里?Excel迷你图怎么设置

热门文章

  1. Spark :Web UI详解
  2. itext 导出pdf 图片太大
  3. 滴滴出行怎么下载丨办法总比困难多
  4. java 等额本金与等额本息
  5. 前端应届生面试技巧,没有项目经验怎么应对?
  6. 求职互联网技术岗应届生面试必备技巧分享
  7. 键盘按键发出声音,打不了字,提示启用筛选键
  8. js校验 身份证号18位
  9. 16.火焰传感器实验
  10. Nature | 基于深度神经网络和改进的片段测序方法从头预测蛋白质结构