## 牛吃草问题 ### 一、题目描述 首先,题目肯定会给你$4$个数据,我们就这样表示:一块牧场,够$a$头牛吃$b$天,够$c$头牛吃$d$天。 ### 二、草每天增长的速度 我们就假设:每头牛每天吃一份,那么: 第一种情况,这$a$头牛在$b$天中,吃了$a*b$份 同理,第二种情况,吃了$c*d$份 由于数据不同,$a*b$与$c*d$两乘积一定有差 我们就用$(a*b-c*d)/(b-d)$或$(c*d-a*b)/(d-b)$, 为什么这样做呢?我们想一想,$a$头牛与$c$头牛吃的量差在哪儿呢? 原有草量?肯定不是,同一片牧场嘛! 那肯定是$a$头牛与$c$头牛吃的 天数的差异了 为什么呢,因为草也是按一定的速度增长的,你吃的天数多,累计增加的草量也多。 怎么求出这个增加速度呢?就是我们之前提出的那个式子啦 $a*b-c*d$或$c*d-a*b$即两种情况吃的总草量的 **差值**(这个差值就是由草的增长造成的),$b-d$或$d-b$即两种情况吃的天数差值,二者前者除以后者,便是 草每天增长的速度啦,我们将这个结果先表示为$e$ ### 三、 原草量 接着,我们就可以用$a*b-b*e$或$c*d-d*e$来求出原有草量了。 ### 四、常规问法 做到这个地步,题目大致会有$3$种问法: #### 1、给你$n$头牛,求他们可以吃多少天 - 如果$n≤e$,肯定可以吃无数天了(每天增长的量都吃不完,草量肯定是持续在增长的,越吃越多) - 如果$n>e$,那么,我们就先派$e$头牛去吃增加的草量(每天都把增加的草量刚好吃完,这样原有草量一旦吃完,草场的草也就吃完了),而剩下的$n-e$头牛,就去吃原有草量,能吃的天数便是原有草量除以剩下的牛一天能吃的总量就可以了,即$(a*b-b*e)/(n-e)$ #### 2、给你$n$天,求多少头牛可以刚好$n$天吃完 与之前一样,还是要先派$e$头牛去吃增加的草量(把增加的把控的死死的,随时待命),接着,只要把原有草量在$n$天之内吃完就好了,需要派的牛即为$(a*b-b*e)/n$,加上吃增加草量的$e$头牛,答案就是$(a*b-b*e)/n+e$。 #### 3、问这个草场最多可供多少头牛一直吃下去 这种问题只要你思路想到了,其实过程很简单 你想想,牛想要一直吃下去,每天吃的总草量就得≤每天增加的草量,那么,答案便是$e$(向下取整,保证答案为整数)头牛了。