描述

  • 这里有一辆赛车比赛正在进行,赛场上一共有N辆车,分别称为个g1,g2……gn。赛道是一条无限长的直线。最初,gi位于距离起跑线前进ki的位置。比赛开始后,车辆gi将会以vi单位每秒的恒定速度行驶。在这个比赛过程中,如果一辆赛车曾经处于领跑位置的话(即没有其他的赛车跑在他的前面),这辆赛车最后就可以得奖,而且比赛过程中不用担心相撞的问题。现在给出所有赛车的起始位置和速度,你的任务就是算出那些赛车将会得奖。

分析

  • 暴力枚举每辆车是否可以得奖.
  • 计算该车可以领跑的时间区间 [L, R], 初始化 L = 0, R = INF. 每次和另一辆车进行比较, 维护这个区间, 直到所有的车已经比较过或者 L > R.
  • 暴力时间复杂度 O(n^2), 但数据没有卡.
#include #include #include using namespace std;
const double INF = 1e18;
const int maxn = 10000 + 10;
int p[maxn], v[maxn];
vectorans;
int main() {
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++) scanf("%d", &p[i]);
for(int i = 1; i <= n; i++) scanf("%d", &v[i]);
for(int i = 1; i <= n; i++) {
bool win = 1;
double L = 0, R = INF;
for(int j = 1; j <= n; j++) {
double x = 0.0, y = INF;
if(v[i] < v[j]) y = (double)(p[i]-p[j]) / (v[j]-v[i]);
else if(v[i] > v[j]) x = (double)(p[j]-p[i]) / (v[i]-v[j]);
else if(p[i] < p[j]) y = -INF;
L = max(L, x);
R = min(R, y);
if(L > R) { win = 0; break; }
}
if(win) ans.push_back(i);
}
int m = ans.size();
printf("%d\n", m);
for(int i = 0; i < m-1; i++) printf("%d ", ans[i]);
printf("%d\n", ans[m-1]);
return 0;
}

BZOJ-3190-赛车-JLOI2013-暴力枚举相关推荐

  1. bzoj 3190 赛车 半平面交

    直接写的裸的半平面交,已经有点背不过模板了... 这题卡精度,要用long double ,esp设1e-20... #include<iostream> #include<cstd ...

  2. POJ 3174 暴力枚举

    思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...

  3. codeforces数学1600day6[CodeForces - 1029C多区间交+枚举,CodeForces 992C[数学公式推导],CodeForces 992B[质因数分解+暴力枚举]]

    A - Maximal Intersection CodeForces - 1029C 题目大意:就是给你n个区间,这n个区间有公共的区间长度为x,现在叫你从这n个区间中删掉一个使得x最大化. 解题思 ...

  4. 最大字段和 冲出暴力枚举

    这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...

  5. hdu 4587 TWO NODES 暴力枚举+tarjan

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587 题意是拿掉两个点 求最多可以把整个图分成几个联通块 注意到有一个模板是可以通过找割点来快速求出 ...

  6. 一道暴力枚举题Win32版本示例

    来看一个问题:该问题的解法是 暴力枚举:这大概是ACM方面的:名称叫火柴棒等式: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数( ...

  7. C. Divisibility by Eight【暴力枚举】

    暴力枚举即可.枚举1位这种情况,枚举2位这种情况,枚举3位这种情况. 3位满足足以,其他的4位,5位...都包含1000必定满足. #include<bits/stdc++.h> usin ...

  8. YBTOJ:灯光控制(贪心)(公倍数)(暴力枚举)

    文章目录 题目描述 解析 代码 题目描述 解析 没有想出来 首先可以确定开关要么开一次,要么不动,其他都和这俩是等价的 一开始最先想到的就是贪心的方法,每个开关遍历,如果按下会使答案变好就按下. 但是 ...

  9. array专题2---理解暴力枚举与动态规划

    746 Min Cost Climbing Stairs 一直以后对暴力枚举(又称:深度优先搜索)和动态规划不太理解,不能明白个中区别,更别说贪心.今天做这道题目的时候有点心得. 思路一:看到题目,直 ...

  10. 【POJ - 2965】The Pilots Brothers' refrigerator(暴力枚举,思维)

    题干: The game "The Pilots Brothers: following the stripy elephant" has a quest where a play ...

最新文章

  1. 揭秘:1.2亿美元光刻机内部视频曝光,像科幻片一样震撼!
  2. RecyclerView
  3. python反射和高阶内置方法
  4. 每天一道LeetCode-----寻找两个链表的交点
  5. Linux下搭建yum服务器
  6. fprintf函数的用法matlab_极力推荐这个Matlab教程
  7. Python基础教程笔记——条件,循环和其他语句
  8. Joomla源代码解析(十九) JController
  9. 排错万能金钥匙之Linux系统应用
  10. 网站搭建教程(怎么建网站详细步骤)
  11. UiPath Excel 复制粘贴
  12. js 数组按奇偶拆分_js数组拆分问题
  13. 这个地方沸腾,高手争雄,至尊大决战,从天上杀到地下,又从地上打到云霄上!
  14. 《2022-移动端游戏版号申请详解》
  15. GNSS差分码偏差(DCB)文件下载
  16. 做自媒体1年投资4百W亏损370W,自媒体的水太深
  17. 前端入门教程(四)head内常用标签与body内常用标签
  18. 加路由时提示Network is unreachable的一种解决方法
  19. html页面和手机比例一致 一比一自适应 Mixed Content: The page at ‘xxx‘ was loaded over HTTPS, but requested an insec
  20. 积分和微分电路结构原理带Multisim仿真

热门文章

  1. 云炬随笔20210930
  2. 【附源码】一看就懂的感知机算法PLA
  3. 最大期望算法与混合高斯模型的推导
  4. Matconvnet安装:win7+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1
  5. matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)
  6. c++与Delphi中的类型转换
  7. 23种设计模式C++源码与UML实现--外观模式
  8. 平时学习中的拙作,希望交更多的朋友,希望得到更多的指导和交流
  9. Linux 0.11 实验环境搭建
  10. Ubuntu系统rm命令删除文件没有提示,怎么办?