一本通題庫-1435
libreoj-10013
vjudge
明明做作業的時候遇到了 n
nn 個二次函式 si(
x)=a
x2+b
x+cs_i(x)=ax^2+bx+c
si(x)
=ax2
+bx+
c,他突發奇想設計了乙個新的函式 f(x
明明現在想求這個函式在 [0,
1000
][0,1000]
[0,100
0]的最小值,要求精確到小數點後四位,四捨五入。
輸入包含 t
tt 組資料,每組第一行乙個整數 nnn;
接下來 n
nn 行,每行 3
33 個整數 a,b
,ca, b, c
a,b,
c ,用來表示每個二次函式的 3
33 個係數。注意:二次函式有可能退化成一次。
每組資料輸出一行,表示新函式 f(x
)f(x)
f(x)
的在區間 [0,
1000
][0,1000]
[0,100
0]上的最小值。精確到小數點後四位,四捨五入。
2
12 0 0
22 0 0
2 -4 2
0.0000
0.5000
對於 50
%50\%
50% 的資料,1≤n
≤100
1≤n≤100
1≤n≤10
0;對於 100
%100\%
100%
的資料,1≤t
≤10,1
≤n≤1
05,0
≤a≤100,0
≤∣b∣
≤5000,0
≤∣c∣
≤5000
1≤t≤10, 1≤n≤10^5, 0≤a≤100, 0≤|b|≤5000, 0≤|c|≤5000
1≤t≤10
,1≤n
≤105
,0≤a
≤100
,0≤∣
b∣≤5
000,
0≤∣c
∣≤50
00。
三分。三分法是在二分查詢的基礎上,在右區間(或左區間)再進行一次二分。
與二分查詢不同的是,三分法所面向的搜尋序列的要求是:序列為乙個凸性函式。通俗來講,就是該序列必須有乙個最大值(或最小值),在最大值(最小值)的左側序列,必須滿足不嚴格單調遞增(遞減),右側序列必須滿足不嚴格單調遞減(遞增)。
首先把 l-r 這個區間分成三部分(lmid和rmid)。
接下來就是判斷,我們因為要求最小值,所以我們要使得左邊的值盡可能的小,這樣最左邊就是最小的。
接下來就是判斷最大值,就是找出lmid和rmid判斷出來的最大值,判斷如果lmid的最大值大於rmid,那就說明當前的佇列不是左邊最小,就把l移到lmid的位置,跳過不符合的那一段。如果小於,那就把r移到rmid的位置,在更左邊尋找。
經過這一迴圈的運算之後,我們就可以得到乙個遞增的序列,而這個序列的最左邊就是最小值。
答案:判斷出l的值就好了。
細節:精度要開小,我開了1e-12。
#pragma gcc optimize(3,"ofast","inline")
#pragma g++ optimize(3,"ofast","inline")
#include
#include
#include
#include
#include
#define ri register int
#define re(i,a,b) for(ri i=a; i<=b; i++)
#define ms(i,a) memset(a,i,sizeof(a))
#define max(a,b) (((a)>(b)) ? (a):(b))
#define min(a,b) (((a)
using
namespace std;
typedef
long
long ll;
const
int n=
1e5+5;
const
int inf=
2e9;
int n,t;
double a[n]
,b[n]
,c[n]
;double
calc
(double x)
intmain()
double ans=
calc
(l);
printf
("%0.4lf\n"
,ans);}
return0;
}
一本通 1 2 例 3 曲線
題目link 經典的三分裸題。三分主要是用來求乙個滿足單峰性的函式的最大 最小值的一種演算法,其原理和二分基本一樣。假設求最小值,首先把選擇區域分為三段,然後比較這兩個三等分點的函式值誰更小一些,大的那一邊就不要了 如果大的是靠左的,那就連著左邊不要了,靠右同理 容易證明這樣做是正確的,然後像二分那...
一本通 1 2 例 3 曲線
題解 這道題運用的是新方法三分,然後稍微總結一下三分 就是說具有一定的單調性,找最大最小值,然後和二分基本類似,就是說特性就是說當前兩個點比較,較優的點和最優點在相對了較差點的同側,就是說那邊差就把範圍定到那裡去 錯誤 要注意精度問題,一般定到1e 9或1e 11 include include i...
10016 一本通 1 2 練習 3 燈泡
題目描述 原題來自 zoj 3203 相比 wildleopard 的家,他的弟弟 mildleopard 比較窮。他的房子是狹窄的而且在他的房間裡面僅有乙個燈泡。每天晚上,他徘徊在自己狹小的房子裡,思考如何賺更多的錢。有一天,他發現他的影子的長度隨著他在燈泡和牆壁之間走到時發生著變化。乙個突然的想...