题目链接

题意:给定n个减速信息,计算走完一千米所需的时间;减速信息分为关于时间的减速点和关于距离的减速点

思路:先将时间减速点和路程减速点分别排序,然后不断比较当前时间减速点a[i]和路程减速点b[j]哪个先发生,设当前的路程s,时间t,速度v,则距a[i]发生还差时间的为a[i]-t,距b[j]发生还差的时间为(b[j]-s)/v,直至处理完所有减速点,输出时间

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxx = 1e5 + 10;
const int inf=0x3f3f3f3f;
int n;
vector<int>a,b;//关于时间的减速点,关于距离的减速点
void solve()
{cin>>n;char op[2];int x;while(n--){scanf("%s%d",op,&x);if(*op=='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 s=0,t=0,v=1;//v为速度的倒数int i=0,j=0;while(i<a.size()||j<b.size())//二路归并{if(j==b.size()||(i<a.size()&&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++;}}printf("%.0f",t);
}
int main()
{int _t=1;//scanf("%d", &_t);while (_t--){solve();}//system("pause");
}

贝茜放慢脚步(二路归并)相关推荐

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

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

  2. [BZOJ1643][Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪

    1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: ...

  3. BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划

    题目 1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec  Memory Limit: 64 MB Description 奶牛们打算通过锻炼来 ...

  4. bzoj 3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题(DP)

    3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: ...

  5. bzoj 1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪(DP)

    1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪 Time Limit: 5 Sec  Memory Limit: 64 MB Submit:  ...

  6. AcWing 1875.贝茜的报复

    目录 题目 解题思路 C++代码 Java代码(带注释) 题目 农夫约翰和奶牛贝茜喜欢在业余时间互相出数学题. 约翰给贝茜出了一道相当难的问题,导致她没能解决. 现在,她希望通过给约翰出一道有挑战性的 ...

  7. 1875.贝茜的报复

    Powered by:NEFU AB-IN Link 文章目录 1875.贝茜的报复 题意 思路 代码 1875.贝茜的报复 题意 农夫约翰和奶牛贝茜喜欢在业余时间互相出数学题. 约翰给贝茜出了一道相 ...

  8. 1875 贝茜的报复(dfs、二进制)

    1. 问题描述: 农夫约翰和奶牛贝茜喜欢在业余时间互相出数学题.约翰给贝茜出了一道相当难的问题,导致她没能解决.现在,她希望通过给约翰出一道有挑战性的难题来报复他.贝茜给了约翰一个表达式 (B+E+S ...

  9. 【u025】贝茜的晨练计划

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= ...

  10. bzoj1613 贝茜的晨练计划

    Description 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1<=N<=10,000) 分钟的晨跑.在每分钟的开始,贝茜会选择下一分钟是 ...

最新文章

  1. “天才”少年!4位90后摘得全球顶尖数学大奖,90%获奖者不满30岁
  2. C++高级编程篇-如何编写高效的C++篇
  3. C语言32个关键字总结
  4. (32)System Verilog模块调用包中类的方法
  5. 自学java 第十章内部类(一)
  6. Python基础学习2--字符串
  7. Reg Exp正则表达式
  8. LINUX下载编译sqlite3
  9. Web前端学习 | Ajax
  10. 深入浅出通信原理知识点8
  11. js实现敏感词过滤算法
  12. linux 蓝牙打印机驱动安装失败,win10蓝牙驱动安装失败的最佳解决方法
  13. 人工智能新风口上,网易是否能够突围?
  14. Domain Adaption Without Source Data论文阅读笔记
  15. win10 安全模式开机
  16. 安卓4.1.2 新建第一个native c++程序ndk开发以及解决出现configure projects一直卡住的问题
  17. 【STM32】标准库 USART通信
  18. 深入分析Android中Activity的onStop和onDestroy()回调延时及延时10s的问题
  19. ceph pg不一致问题
  20. 如何将MP4视频转换为MP3音频

热门文章

  1. C++基于ATM的个人银行账户管理系统
  2. 小程序发布成功后搜索不到怎么办?
  3. StackStorm安装WebUI
  4. 数据模型的作用和数据模型的三个要素:
  5. java环境变量配置_Java环境变量配置终极版
  6. ipv6 over ipv4
  7. 《Java 编程的逻辑》笔记——第1章 编程基础(一)
  8. Tesseract-OCR识别中文与训练字库
  9. 【Linux】Ubuntu20.04 无法访问 http://cn.archive.ubuntu.com 问题记录解决
  10. css怎么写数字序号,CSS自动加序号-多种有序列表数字序号