Date:2022.02.21
题意:
奶牛贝茜正在参加冬季哞林匹克运动会的越野滑雪比赛。
她以每秒 1 米的速度出发。
但是,随着时间的推移,她变得越来越疲倦,她开始放慢脚步。
每次放慢脚步,贝茜的速度都会降低:减速一次后,她以每秒 1/2 米的速度移动,减速两次后,则以每秒 1/3 米的速度移动,依此类推。
你将被告知何时何地贝茜会减速。
当减速信息格式为:
T 17
意味着,贝茜在某个时间点减速,本例表示比赛开始第 17 秒贝茜减速。
当减速信息格式为:
D 10
意味着,贝茜在某个地点减速,本例表示在行进 10 米处减速。
给定 N 个减速信息,请计算贝茜滑完一千米需要多少秒。
将你的答案四舍五入到最接近的整数( 0.5 向上舍入为 1)。
输入格式
第一行包含整数 N。
接下来 N 行,每行描述一个减速信息,格式为 T x 或 D x。
无论哪种情况,x 都是一个整数,保证所有减速都在贝茜滑完一千米前发生。
可能同时发生多次减速,那么这会使得贝茜的速度一下子变慢很多。
所有减速信息不一定按顺序给出。
输出格式
输出贝茜滑完一千米所需的总时间。
数据范围
1≤N≤10000
输入样例:
2
T 30
D 10
输出样例:
2970
样例解释
贝茜以每秒 1 米的速度跑完前 10 米,耗时 10 秒。
然后她减速到每秒 1/2 米,接下来的 10 米要花 20 秒。
然后她在第 30 秒时,再次减速到每秒 1/3 米。
滑完剩下的 980 米需要 980×3=2940 秒。
因此,总时间是 10+20+2940=2970 秒。

思路:每次取时间靠前的那一项拓展,另一项伴随拓展。(原来这就叫二路归并…
代码如下:

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 10010;
typedef long long LL;
LL a[N],b[N],n,cnt1,cnt2;
int main()
{cin>>n;for(int i=1;i<=n;i++){char c;LL x;cin>>c>>x;if(c=='T') a[++cnt1]=x;else b[++cnt2]=x;}sort(a+1,a+1+cnt1);sort(b+1,b+1+cnt2);LL l=1,r=1,v=1;double jl=0,sj=0;while(l<=cnt1&&r<=cnt2){double t2=(b[r]-jl)*v;double t1=a[l]-sj;if(t1==t2) {sj=a[l];jl=b[r];v+=2;l++;r++;}else if(t1<t2) {jl+=(a[l]-sj)/v;sj=a[l];v++;l++;}else {sj+=(b[r]-jl)*v;jl=b[r];v++;r++;}}while(l<=cnt1) {jl+=(a[l]-sj)/v;sj=a[l];v++;l++;}while(r<=cnt2) {sj+=(b[r]-jl)*v;jl=b[r];v++;r++;}cout<<(LL)(sj+(1000-jl)*v+0.5);return 0;
}

【寒假每日一题2022】acw1934. 贝茜放慢脚步【二路归并】相关推荐

  1. 寒假每日一题2022【week2 未完结】

    目录 1987. 粉刷栅栏[扫描线] 1978. 奶牛过马路[前缀最值] 1969. 品种邻近[哈希表] 1987. 粉刷栅栏[扫描线] 扫描线,注意将一个区间的左端点表示该区间.这样可以避免处理各种 ...

  2. 寒假每日一题2022【week1 完结】

    目录 2058. 笨拙的手指[枚举] 2041. 干草堆[差分] 2060. 奶牛选美[dfs + 思维] 2019. 拖拉机[双端队列] 2014. 岛[思维+离散化] 2005. 马蹄铁[dfs] ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. acwing----春季每日一题2022篇(二)

    春季每日一题2022篇(二) 三角形(枚举) 社交距离 I (分类讨论 + 贪心) 混合牛奶(模拟) 果壳游戏(模拟 + 技巧) 困牛放牧(分类 + 数学知识) 三角形(枚举) 题目链接 题目大意 题 ...

最新文章

  1. 今日 Paper | 多人线性模型;身体捕捉;会话问答;自然语言解析;神经语义
  2. 如何在javascript中使用多个分隔符分割字符串?
  3. APM - 使用JavaAgent+Javassit 插桩C3P0
  4. Python借助队列实现进程通信
  5. php接口调用实例源代码,小蚂蚁学习APP接口开发(7)—— APP接口实例——读取缓存方式开发APP接口的代码案例...
  6. 语言 重量计算_大师之光:有种跨越国界的语言叫C++
  7. 简单使用jave获取上传视频时长--java后端
  8. C语言调用函数流程图怎么画,【C语言】求教这个流程图怎么画啊
  9. URP实现毛玻璃效果一
  10. 计算机学院校园文化标语,智慧校园文明宣传标语
  11. numpy 学习汇总18 - 数学运算 (集合,复数)( 基础学习 tcy)
  12. 利用临时二维码实现在电脑浏览器上的微信扫码登陆功能 - EasyWeChat版
  13. 从表征到行动---意向性的自然主义进路(续一)
  14. OneNote for windows10卸载及重装
  15. todolist(网页版记事本)
  16. linux流编辑器,linux sed 流编辑器
  17. 论文信息查询:SCI EI检索、影响因子
  18. Swift 编码规范
  19. 记录一次GoLang软件debug模式F7和F8失效问题
  20. matlab绘制银河系,绘制银河系的1%——Gaia探测器

热门文章

  1. 用python将九九乘法口诀表打印在Excel中
  2. 我为什么不看好微信小程序_0
  3. 分析方法--FMEA,6sigma,脑力激荡法
  4. 数据基础-索引和完整性(约束)
  5. Ansible—— 29. 通过set_fact模块定义变量
  6. [jzoj 4226] 【五校联考3day2】A {简单题}
  7. F1赛道,跑的就是“黑科技”
  8. PMP学习考试感悟之——坚持、努力是唯一法宝
  9. Class文件格式总结
  10. paTJPSb桌趴缀岳凳钟涸