最長線段(chord.pas/chord.in/chord.out)
(lyoi資訊學綜合模擬20090321problem 1)
問題描述
給定兩個圓各自的圓心座標和半徑長。過其中乙個交點作直線,該直線與圓的另外兩個交點分別為a、b。線段ab最長是多少?
輸入資料
第一行有三個用空格隔開的整數x1,y1,r1,依次表示第乙個圓的圓心座標和半徑;
第二行有三個用空格隔開的整數x2,y2,r2,依次表示第二個圓的圓心座標和半徑;
輸入資料保證兩圓相交。
輸出資料
輸出ab的最大長度。你的輸出需要保留6位小數。
輸入樣例
5 4 4
-3 2 5
輸出樣例
16.492423
資料規模
對於30%的資料,x1=y1;
對於50%的資料,r1=r2;
對於100%的資料,輸入資料在integer範圍內。
思路 這個題其實我是靠直覺做的,然後它的輔助證明類似於jsq大佬的方法,我自己造了幾組圓然後算了算,發現是當這條線段垂直於兩交點連線時最短,然後利用一組相似三角形即可求出解的比值大概是2:1,所以就是圓心距的2倍。
正解思路是用幾何證明證明出這個答案是對的。
求證:經過相交兩圓的乙個交點的那些直線,被兩圓所截得的線段中,平行於連心線的那一條線段最長。
分析:如圖,pq∥oo′,要證明pq最長,只須證明pq大於過a點的任意一條不平行於oo′的割線p′q′,這是證明與圓的弦有關的問題,因此過o、o′分別作pq、p′q′的垂線,垂足分別為c、d;c′、d′。由垂徑定理知ac= ap、ad= aq,所以cd= pq。同理c′d′= p′q′,又oo′=cd,於是問題轉化為證明oo′> c′d′,而oo′d′c′為直角梯形,顯然有oo′> c′d′。從而問題可證。
然後放上比較簡單的**。
#include
#include
#include
#include
#include
using
namespace
std;
double x1,x2,y,y2,r1,r2;
int main()
/*5 4 4
-3 2 5
*/
妹子圖以後再補上。。。
高數證明題思路
基本思路 利用逆向思維,構造輔助函式 即從結論出發尋找思路 tips 可以用原函式法找輔助函式 有時可以對導數用中值定理。若結論為不等式,就要注意適當放大或縮小的技巧。當要證明某個函式的導數的某一點處其導數值為常數或0時,應用羅爾定理可以求證。證明含乙個中值的等式或根的存在,多用羅爾定理 可以用原函...
一道證明題
最近看 劍指offer第二版 有這麼一道面試題 題目 給你一根長度為n的繩子,請把繩子剪成m段 m和n都是整數,n 1並且m 1 每段繩子的長度記為k 0 k 1 k m 請問k 0 k 1 k m 可能的最大乘積是多少?例如,當繩子的長度為8時,我們把它剪成長度分別為2,3,3的三段,此時得到的最...
貪心演算法的證明題
貪心演算法的證明一般是比動態規劃要複雜。原因是貪心演算法的證明有兩個,乙個是最優子結構,另外乙個是貪心選擇性質。貪心選擇性質 可以通過區域性最優選擇來構造全域性最優解 證明 一般考慮某個子問題的最優解,然後考慮用乙個貪心選擇替換其中某個選擇,修改此解,匯出更小子問題。最優子結構同動態規劃,而且其實一...