hdu 3400 Line belt 三分套三分)

2021-07-25 04:43:06 字數 686 閱讀 3817

題意:

在乙個二維空間中給出兩條線段ab,cd,線段ab,cd上的運動速度分別為p,q。在這兩條線段之外的空間上運動的速度為r。求從a到d的最短時間。

思路:ps:在這種求解方法中,中間運用了比較多的除法,導致精度損失,所以再開方前加乙個eps,防止開方後的值比真實值小。

**:

#include #include #include #include #include using namespace std;

const double eps=1e-8;

double p, q, r;

double ab, cd, ax, ay, bx, by, cx, cy, dx, dy;

double ax, ay, cx, cy;

double dis(double ax, double ay, double bx, double by)

double f2(double mid)

double f1(double x)

else

}return f2((mid+mmid)/2)+tim;

}double three_devide1(double low,double up)

return f1((m1+m2)/2);

}int main()

return 0;

}

HDU 3400 Line belt 三分套娃

我們假定在 a,b 上選取點 e 在 c,d 上選取點 f 我們的移動路徑是 a e f d 當我們確定 e 點時,不難發現 dis e f f d 是乙個凹函式,具有極小值。當我們確定 f 點時不難發現 dis a e e f 也是乙個凹函式,具有極小值。這兩段函式連線起來,不難發現也是乙個凹函式...

HDU3400 Line belt 三分法 C語言

題目 題目大意 給出a b c d四點座標,在ab上速度為p,cd上速度為q,其他地方速度為r。求從a到d的最短時間 思路 兩個三分巢狀,ab線段三分,內層巢狀cd線段內的三分 提交情況 wa 1次,ac 1次 總結 內層的三分時,每次都要重新賦兩端點的值為c d的值,因為前一次搜尋結束後,端點值已...

hdu 3400 悲劇的三分

題意 就是給你兩條線段ab cd 乙個人在ab上跑速度p,在cd上跑q,在其他地方跑速度是r。問你從a到d最少的時間是好多。解法。比賽時候看題就想起之前hs教我的三分,結果寫了全場的,都沒有過的。哎太挫了。正確解法就是 對ab上三分乙個e點,在cd上三分乙個點f,然後三分完了之後就是最後的結果了的。...