#21747: 思路


slime.creeper3@gmail.com (Slimlix)

學校 : 不指定學校
編號 : 108310
來源 : [114.27.68.205]
最後登入時間 :
2021-09-07 22:44:18
f011. 巴尾萊鳥 -- 第二屆簡單的小競賽 | From: [36.236.5.151] | 發表日期 : 2020-07-15 20:41

假設輸入的函數為f(x),f(x)在x的切線斜率為g(x)的話,會出現以下四種情況。

1. f(x) == 0 && g(x) == 0 

這樣代表f(x)對應的y值為0 (也就是說在x軸上) ,且在這點的切線斜率是0,這樣代表切線和x軸重疊,也就代表這隻鳥可以在赤道的任何地方睡覺。

2. f(x) == 0 && g(x) != 0

這樣代表切點在x軸上,可是斜率不為零,故切線和x軸的交點即為(x, 0),那因為題目給的切點x座標值為a,也就是說切點是(a, 0)。

3. f(x) != 0 && g(x) == 0

這樣代表切點不在x軸上,可是斜率為零,代表切線永遠不會和x軸有交點,也就代表這隻鳥不能睡覺。

4. f(x) != 0 && g(x) != 0

這樣代表切點雖然不在x軸上,但是斜率不為零,代表切線和x軸必有一交點。

那假設切點為(a, f(a)),斜率為g(a),由點斜式我們可以知道切線方程式g(a)*(x-a) = y-f(a)

那我們想知道切線和x軸(y = 0)的交點(x, 0),可以由上面的方程式得知。

帶入y=0 

g(a)*(x-a) = -f(a)

-f(a)/g(a) = x-a

-f(a)/g(a)+a = x

所以鳥可以睡覺的地方就是(-f(a)/g(a)+a, 0)

 

 

 

 
ZeroJudge Forum