[USACO] Milking Cows

原创 2011年02月25日 16:44:00

题目叙述的很清晰,关键的一步就是先把输入数据按照开始时间进行排序。

问题就处在这里了,我用的快排,可是1000数据量的测试总也过不去,调试才发现,快排写错了,我只是把开始时间进行了排序,可是相对应的结束时间并没有跟着调整,结果出现了2万多秒的时间间隔!!

唉!本来想用结构体定义一下的,但是一想两个元素也不难就懒的写,结果杯具发生了,代码不清晰不说,还调试了好长时间,得不偿失啊

剩下的程序逻辑不是很难,把所有情况考虑清楚马上就可以AC了~~

 


 

 

 


 

分析的解法一:和我的思路是一样的,它的快排用的是标准库,所以自己要写一个比较函数。。。

分析的解法二:此方法把开始和结束时间全都进行排序,只不过加了一个标记便于区别。比如对于实例排序完成时的结果如下(CSDN居然没有插入表格功能?!我勒个去,无语。。。)

300    700    1000     1200    1500    2100

  1        1         -1          -1          1          -1

于是可以看出有两种情况(k作为数组下标)

1.k=3或5时,恰好刚完成任务,工人数为0,可以求出工作时间

2.k=4时,工人数不为0,前一个任务刚结束,新的任务刚开始,所以可以求出空闲时间

 

此方法我没有想到,总是认为程序AC就万事大吉,也没有认真思考过别的方法。但肯定有大牛想得到的,努力学习啊!^_^

USACO 1.2 Milking Cows (枚举)

USCAO milk2 题解
  • wdkirchhoff
  • wdkirchhoff
  • 2014-11-19 16:49:15
  • 972

【USACO】Milking Cows

ProblemThree farmers rise at 5 am each morning and head for the barn to milk three cows. The first f...
  • LeongHouHeng
  • LeongHouHeng
  • 2016-08-12 20:19:27
  • 356

USACO题目Milking Cows及代码解析

  • 2012年10月23日 23:04
  • 16KB
  • 下载

USACAO Milking Cows 线段树

背景:我是用最低效率的暴力模拟过的,竟然建了个1000000的数组,论文说只要计算量不超过2000000即可以过。 学习:1.对于我这种方法可以改进,那就是对于数据的开头和结尾都拉通来排序,让后用1...
  • jibancanyang
  • jibancanyang
  • 2014-12-18 22:46:00
  • 495

USACO----Milking Cows

Three farmers rise at 5 am each morning and head for the barn to milk three cows. The first farmer b...
  • yangyangsnr
  • yangyangsnr
  • 2018-03-19 16:41:38
  • 35

【USACO题库】1.2.1 Milking Cows挤牛奶(模拟)

【USACO题库】1.2.1 Milking Cows挤牛奶
  • fengyingjie2
  • fengyingjie2
  • 2016-03-20 19:00:59
  • 550

[USACO1.2]挤牛奶Milking Cows 差分

瞅一眼数据范围发现硬搞可能会TLE,所以用差分。res[]差分数组记录区间状态,最后扫一遍统计一下即可。...
  • Dadatu_Zhao
  • Dadatu_Zhao
  • 2017-11-26 20:51:28
  • 104

【USACO1.2_1】★Milking Cows 挤牛奶

三个农民每天清晨5 点起床,然后去牛棚给3 头牛挤奶.第一个农民在300 时刻(从5 点开始计时, 秒为单位)给他的牛挤奶,一直到1000 时刻.第二个农民在700 时刻开始,在 1200 时刻结束...
  • zwcwu31
  • zwcwu31
  • 2014-04-07 16:05:34
  • 1240

Codeforces 383A Milking cows(贪心)

题目链接:Codeforces 383A Milking cows 题目大意:一个农场有n头奶牛,现在农场主要挤奶,0代表朝左,1代表朝右。如果奶牛看到其他奶牛被挤奶的话,会受到惊吓,产奶量...
  • u011328934
  • u011328934
  • 2014-02-03 14:37:41
  • 1577

Milking Cows 挤牛奶

描述三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒。第二个农民在700秒开始,在 1200秒结束。第三个农民在1500秒开始21...
  • hyqsblog
  • hyqsblog
  • 2015-04-25 22:03:35
  • 634
收藏助手
不良信息举报
您举报文章:[USACO] Milking Cows
举报原因:
原因补充:

(最多只允许输入30个字)