题目描述

FJ觉得赛马很无聊,于是决定调查将赛牛作为一种运动的可能性。他安排了N(1 <= N <= 100,000)头奶牛来进行一个L圈的赛牛比赛,比赛在一个环形的长度为C的跑道上进行。所有的奶牛在跑道上的同一个点出发,每头奶牛的速度不同,当最快的奶牛跑完L*C的距离后结束。

FJ注意到了一头奶牛超过另一头奶牛这种情况的发生,并且他想知道这种“超车事件”在整个比赛中发生了多少次。更明确地,一次超车事件被定义为一对奶牛(x, y)和一个时刻t(小于等于结束时刻),且t时刻奶牛x超越到了奶牛y的前面,请帮助FJ计算整个比赛过程中“超车事件”发生的次数。

输入

第1行,3个空格隔开的整数N、L、C(1 <= L,C <= 25,000)

第2行至第n + 1行,第i + 1行有一个整数,表示第i个奶牛的速度,范围在1..1000000之间

输出

超车总数

样例输入

4 2 100

20

100

70

1

样例输出

4

题解:
1.把所有速度从大到小排序。
2.用 路程/最快的速度 算出比赛持续时间t。
3.把每一个奶牛在t时间内能跑多少圈求出来,然后分别储存整数跟小数部分。
4.用公式把每一只奶牛整数部分圈数对答案的贡献求出。
5.归并排序求出小数部分的逆序对数量,减去,因为有类似 1.50 跟 2.49取整是没有一圈的,注意精度问题,不然会WA。

vara,s:array [0..100001] of longint;t,p:array [0..100001] of extended;i,n,l,c:longint;ans,h,j:int64;procedure qsort(l,r:longint);
vari,j,mid:longint;
beginif l>=r then exit;i:=l; j:=r;mid:=a[(l+r) div 2];repeatwhile a[i]>mid do inc(i);while a[j]<mid do dec(j);if i<=j thenbegina[0]:=a[i];a[i]:=a[j];a[j]:=a[0];inc(i); dec(j);end;until i>j;qsort(i,r);qsort(l,j);
end;procedure merge(l,r:longint);
varmid,i,j,k:longint;
beginif l=r then exit;mid:=(r+l) div 2;merge(l,mid);merge(mid+1,r);i:=l;j:=mid+1;k:=l;while (i<=mid) and (j<=r) dobeginif t[i]-t[j]>-0.0000001then beginp[k]:=t[i];inc(i);endelse beginp[k]:=t[j];inc(j);inc(h,mid-i+1);end;inc(k);end;while i<=mid dobeginp[k]:=t[i];inc(i);inc(k);end;while j<=r dobeginp[k]:=t[j];inc(j);inc(k);end;for i:=l to r do t[i]:=p[i];
end;beginassign(input,'running.in');   reset(input);assign(output,'running.out'); rewrite(output);readln(n,l,c);for i:=1 to n do readln(a[i]);qsort(1,n);t[0]:=l*c/a[1];for i:=1 to n dobegins[i]:=trunc(a[i]*t[0]/c);t[i]:=a[i]*t[0]/c-s[i];end;merge(1,n);for i:=n downto 1 dobeginj:=j+(n-i)*(s[i]-s[i+1]);ans:=ans+j;end;writeln(ans-h);close(input); close(output);
end.

jzoj P1542 【USACO Open 2012银】跑步Running laps相关推荐

  1. 【USACO Open 2012银】跑步Running laps (jzoj第四题)(变态)

    题目: 题目描述 FJ觉得赛马很无聊,于是决定调查将赛牛作为一种运动的可能性.他安排了N(1 <= N <= 100,000)头奶牛来进行一个L圈的赛牛比赛,比赛在一个环形的长度为C的跑道 ...

  2. 【USACO 2012 Open】Running Laps(树状数组)

    53 奶牛赛跑 约翰有 N 头奶牛,他为这些奶牛准备了一个周长为 C 的环形跑牛场.所有奶牛从起点同时起跑, 奶牛在比赛中总是以匀速前进的,第 i 头牛的速度为 Vi.只要有一头奶牛跑完 L 圈之后, ...

  3. usaco 2012 Open【Running Laps奶牛赛跑】

    Description 约翰有 N 头奶牛,他为这些奶牛准备了一个周长为 C 的环形跑牛场.所有奶牛从起点同时起跑, 奶牛在比赛中总是以匀速前进的,第 i 头牛的速度为 Vi.只要有一头奶牛跑完 L ...

  4. [USACO 2012 Open]Running Laps奶牛赛跑

    题目链接:找不到QWQhttp://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=4074 [在一个并没有 ...

  5. [USACO08JAN]跑步Running

    题目描述 The cows are trying to become better athletes, so Bessie is running on a track for exactly N (1 ...

  6. NOIP2016提高组 第一天第二题 天天爱跑步running 题解

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...

  7. 截止8月31日,2012年跑步总量满1000公里

    注:本文由BeyondVincent(破船)原创首发 转载请注明出处:BeyondVincent(破船)@DevDiv.com 掐指一算,截止8月31日,2012年我跑步总量已经满1000公里(准确距 ...

  8. Noip2016day1 天天爱跑步running

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...

  9. usaco dec 2012 first!

    字典树加拓扑排序 1 #include<cstdio> 2 #include<cstring> 3 #include<string> 4 #include<i ...

最新文章

  1. 图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化
  2. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 14丨重新格式化部门表【难度中等】
  3. TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之三 Views
  4. oracle机票,全球机票分销系统
  5. javascript的compile()函数使用
  6. sql server 游标和with as使用
  7. IS-IS hello 包结构及邻接关系的建立
  8. OpenBSD 清理 OpenSSL 代码 一周递交数百补丁
  9. Pillow EPS 矢量图转 JPG
  10. 自学按键精灵写脚本,非常有用的一个函数
  11. python 广义线性模型_scikit-learn 1.1 广义线性模型(Generalized Linear Models)
  12. 风险模型—VaR模型1
  13. autocad ios 虚线_autocad中画箭头、虚线绘制方法介绍
  14. java excel checkbox,使用Apache POI(Java)在XLSX中创建复选框
  15. Spring Boot使用RabbitMQ出现诡异异常:Failed to send reply with payload 'OK',Cannot determine ReplyTo message
  16. 陈天桥的大脑在孕育什么新传奇(转)
  17. 【自勉-向后端架构师/音视频架构师出发】我的目标是星辰大海(4月)
  18. PCB电路板EN 45545-2:2020最新标准的测试要求
  19. 解决firefox Windows与linux数据不同步的问题
  20. php mysql persistent_PHP API中,MYSQL与MYSQLI的持久连接区别

热门文章

  1. MPC模型预测控制原理和Matlab以及Python代码实现
  2. Excel关于去重算法以及填充数据算法的做法
  3. 泉此方的一天-万恶的作业(homework)
  4. ECMAScript——RegExp类型
  5. MAC M1 utm安装win11
  6. edge浏览器怎么设置activex_微软确认 Win10 Edge 浏览器抛弃 ActiveX/Silverlight 插件
  7. GIS动态矢量切片(MVT——MapBox Vector Tile)
  8. 思科再发两款新品 将IBN能力应用到广域网
  9. 使用zbar进行二维码或条形码(一维码)扫描
  10. 在老家最长的寒假之旅