給出多條二次或一次曲線(si(x) = ax^2 + bx + c,a>=0);構造一條能代表所以曲線的曲線f(x) = max;求出這條曲線的最小值。
知識點:
三分可用來求乙個只有乙個頂點的曲線的最大或最小值
題目的曲線f(x)先減後增,設最小值為f(m),在區間取兩點p1f(p2),那麼一定滿足m>p1;反之,如果f(p1)#include
#include
#include
using
namespace std;
int n;
//儲存曲線
int cur[
10000][
3];//求f(x),即比較每個函式
double
max_c
(double x)
if(value > max_v) max_v = value;
}return max_v;
}int
main()
}//三分
l =0; r =
1001
;while
(r - l >
1e-9
)else
} ans =
max_c
(r);
printf
("%.4f\n"
,ans);}
return0;
}最後,希望路過的dl們能給予改進的建議!
2019 GDUT 新生專題 I A
給定n個數字,計算出最短的連續子串行,使這個子串行的全部數字之和大於或等於給定數字s。如果不存在可以滿足題意的子串行則輸出0。這是經典的,相對比較容易的尺取問題,通過遍歷每乙個連續子串行即可得出答案。但是,由於時間的限制,要注意一些已經沒有意義的連續子串行和被重複計算的過程。include incl...
2019 GDUT 新生專題 I B,C
給出n m的乙個地圖,代表著沒有水的陸地,w 代表著水窪,所以相鄰的水窪,包括對角相鄰,形成乙個池塘,要求的就是池塘的數目。通過深度優先搜尋,對每乙個水窪進行遍歷,被遍歷過的水窪被標記為陸地,防止被再次遍歷或者進入死迴圈,每次退出了迴圈則池塘數目加一,直到地圖上沒有水窪。include includ...
2019 GDUT 新生專題 I D,F
給出n個石頭及其每個石頭的價值和重量,選取k個石頭,重量之和不大於給定的w,來做成項鍊,要求構成項鍊的石頭的價值之和最大,輸出這個最大值。include include using namespace std int n,k,want w want w 項鍊不超過的重量 int num 已選的石頭數...