cogs 1945. 奶牛跑步

★   输入文件:cowjoga.in   输出文件:cowjoga.out   简单对比

时间限制:1 s  
内存限制:256 MB

【题目描述】

奶牛们又兴高采烈地出去运动了!一共有N(1 <= N <= 100,000)头牛在一条无限长的单向羊肠小道上慢跑。每头牛在小道上的起点都不同,牛儿们的速度也不尽相同。

这条羊肠小道太窄了,奶牛们没办法"超车",如果一头快速牛追上了前边的慢速牛,她就必须减速,从而融入这些慢速牛集团中,变成跟前面的牛一样的速度。

牛儿们一共要跑T(1 <= T <= 1,000,000,000)分钟,请帮FJ计算一下,当时间结束时,牛儿们一共会形成多少个集团。

【输入格式】

第一行有两个整数N和T;

接下来有N行,每行有两个数,第一个数是一个非负整数,表示一头牛的起始位置,第二个数是一个正整数,表示该牛的速度;两个数均不超过10^9,所有的牛起始位置都不同,所以输入文件是以起始位置升序的方式给出数据。

【输出格式】

输出一个整数,表示T分钟后的集团数。

【样例输入】

5 3
0 1
1 2
2 3
3 2
6 1

【样例输出】

3
 1 //从第n头奶牛开始枚举,若之前奶牛终点<之后奶牛终点 ,ans++;
 2
 3 #include<cmath>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<iostream>
 7 #include<cstdlib>
 8 #include<cstdio>
 9 #define LL long long
10
11 using namespace std;
12 const int maxn=105000;
13
14 struct Node {
15     LL set,speed;
16 } a[maxn];
17
18 int n,t;
19
20 void Init()
21 {
22     scanf("%d%d",&n,&t);
23     LL date,last=0,tot=1;
24     for(int i=1; i<=n; i++)scanf("%lld%lld",&a[i].set,&a[i].speed);
25     for(int i=n; i>=1; i--)
26     {
27         date=a[i].speed*t+a[i].set;
28         if(i==n)
29         {
30             last=date;
31             continue;
32         }
33         if(date<last)tot++,last=date;
34     }
35     printf("%lld\n",tot);
36 }
37
38 int main()
39 {
40     freopen("cowjoga.in","r",stdin);
41     freopen("cowjoga.out","w",stdout);
42     Init();
43     return 0;
44 }
时间: 2024-12-28 09:33:59

cogs 1945. 奶牛跑步的相关文章

奶牛跑步2

P1443 - [USACO]奶牛跑步2 Description FJ的N(1 <= N <= 100,000)头奶牛们又兴高采烈地出来运动了!她们在一条无限长的小路上跑步,每头牛起跑的位置都不同,速度也不尽相同. 道路中划出了若干条跑道,以便她们能快速"超车",同一跑道中的任意两头牛都不会出现在相同的位置.不过FJ不愿让任何一头牛更换跑道或者调整速度,他想知道如果让牛们跑足T(1 <= T <= 1,000,000,000)分钟的话,至少需要多少条跑道才能满足

【USACO】奶牛跑步2

P1443 - [USACO]奶牛跑步2 Description FJ的N(1 <= N <= 100,000)头奶牛们又兴高采烈地出来运动了!她们在一条无限长的小路上跑步,每头牛起跑的位置都不同,速度也不尽相同. 道路中划出了若干条跑道,以便她们能快速"超车",同一跑道中的任意两头牛都不会出现在相同的位置.不过FJ不愿让任何一头牛更换跑道或者调整速度,他想 知道如果让牛们跑足T(1 <= T <= 1,000,000,000)分钟的话,至少需要多少条跑道才能满

COGS 497——奶牛派对

http://218.28.19.228/cogs/problem/problem.php?pid=497 我们发现每头牛需要走的路程即为它到x的最短路+x到它的最短路. 转化: 于是这道题变成了一道典型的单源最短路问题,只需求出每个点到x的最短路dl,以及从x到此点的最短路d2,然后去找max(dl+d2)即可. 效率分析: 使用dijsktra算法,时间复杂度为O(n^2). [我的程序] 1 type aa=array[1..1000,1..1000] of longint; 2 var

USACO翻译:USACO 2012 JAN三题(2)

USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛跑步 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking baleshare cowrun 输入文件名 stacking.in baleshare.in cowrun.in 输出文件名 stacking.out baleshare.out cowrun.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方

【COGS &amp; USACO】896. 圈奶牛(凸包)

http://cojs.tk/cogs/problem/problem.php?pid=896 我的计算几何入门题... 看了看白书的计算几何部分,,恩好嘛.. 乃们都用向量!!!! 干嘛非要将2个点确定一条线变成一个点从原点o出发的射线!!!! 这就是所谓的玩概念吗 然后用所谓的向量加减,是这些向量起点相同,然后就变成了原点o出发的射线!!! 然后你们还在玩概念!我跪了. (以上纯属蒟蒻吐槽) 好吧,计算几何非常有用的..简化了不少操作. 这里还有啥点积啥叉积.点积就是同一起点的向量(终点)的

COGS——T 803. [USACO Hol10] 政党 || 1776: [Usaco2010 Hol]cowpol 奶牛政坛

http://www.lydsy.com/JudgeOnline/problem.php?id=1776||http://cogs.pro/cogs/problem/problem.php?pid=803 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 507  Solved: 246[Submit][Status][Discuss] Description 农夫约翰的奶牛住在N (2 <= N <= 200,000)片不同的草地上,标号为1到N.

cogs 133. [USACO Mar08] 牛跑步 A*算法

by http://blog.csdn.net/jarily/article/details/8871968/* *算法引入: *在单源点最短路径问题中,实际运用时还需知道最短路径外,次短路或者第三短路; *即要知道多条最短路,并排出其长度增加的顺序,即为K最短路问题; * *算法思想: *单源点最短路径+高级搜索A*; *A*算法结合了启发式方法和形式化方法; *启发式方法通过充分利用图给出的信息来动态地做出决定而使搜索次数大大降低; *形式化方法不利用图给出的信息,而仅通过数学的形式分析;

cogs 762. [USACO Open09] 奶牛队列

★   输入文件:cline.in   输出文件:cline.out   简单对比时间限制:1 s   内存限制:128 MB 农夫约翰有N头牛,编号依次为1-N,他正在把这些牛排成一队,队伍中开始是没有牛的,随着时间推移,牛儿一个一个地从左端或右端加入到队伍中来.令人烦心的是,随时会有一些牛从左端或右端离开队伍溜向草场. FJ正费劲地给牛排队,请你帮帮他. 奶牛按1-N的顺序入队,牛一旦离队就再也不会回来了,你的程序将处理给定的S(1 <= S <= 100,000)个输入指令,每一个指令占

COGS [USACO Mar07] 奶牛交通

[USACO Mar07] 奶牛交通 农场中,由于奶牛数量的迅速增长,通往奶牛宿舍的道路也出现了严重的交通拥堵问题.FJ打算找出最忙碌的道路来重点整治. 这个牧区包括一个由M (1 ≤ M ≤ 50,000)条单行道路(有向)组成的网络,以及 N (1 ≤ N ≤ 5,000)个交叉路口(编号为1..N),每一条道路连接两个不同的交叉路口.奶牛宿舍位于第N个路口.每一条道路都由编号较小的路口通向编号较大的路 口.这样就可以避免网络中出现环.显而易见,所有道路都通向奶牛宿舍.而两个交叉路口可能由不