You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
2.6 KiB

2 years ago
## 牛吃草问题
### 一、题目描述
首先,题目肯定会给你$4$个数据,我们就这样表示:一块牧场,够$a$头牛吃$b$天,够$c$头牛吃$d$天。
### 二、草每天增长的速度
我们就假设:<font color='blue' size=4><b>每头牛每天吃一份</b></font>,那么:
第一种情况,这$a$头牛在$b$天中,吃了$a*b$份
同理,第二种情况,吃了$c*d$份
由于数据不同,$a*b$与$c*d$两乘积一定有差
<font color='red' size=4><b>
我们就用$(a*b-c*d)/(b-d)$或$(c*d-a*b)/(d-b)$
</b></font>
为什么这样做呢?我们想一想,$a$头牛与$c$头牛吃的量差在哪儿呢?
原有草量?肯定不是,同一片牧场嘛!
那肯定是$a$头牛与$c$头牛吃的 <font color='blue' size=4><b>天数的差异</b></font>
为什么呢,因为草也是按一定的速度增长的,你吃的天数多,累计增加的草量也多。
怎么求出这个增加速度呢?就是我们之前提出的那个式子啦
$a*b-c*d$或$c*d-a*b$即两种情况吃的总草量的 **差值**(这个差值就是由草的增长造成的),$b-d$或$d-b$即两种情况吃的天数差值,二者前者除以后者,便是 <font color='red' size=4><b> 草每天增长的速度啦</b></font>,我们将这个结果先表示为$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$(向下取整,保证答案为整数)头牛了。