P1883函式題解

2022-05-19 19:18:07 字數 730 閱讀 9251

這道題是說在[0, 1000]中找到乙個值,使得在所有函式中這個值所對應的最大值最小(可能描述的不清楚,詳細看題目)。

通過畫圖發現,如果將最大值連線起來的話,那麼所有的點將連成乙個類似二次函式的影象,於是我們可以採用三分的方法,

如果進行暴力列舉的話會超時,所以使用三分法。

為什麼不用二分呢?二分是不能夠判斷最小值在那個範圍的(自己想一想)

於是用三分,重點在情況判斷,對於很多情況,我們應該找到一種能夠快捷描述情況的方法,以至於可以將最小值包含在範圍中。

下面是**:

//

p1883

#include #include

using

namespace

std;

const

int max = 1e4+10

;const

double min = 1e-9

; int

a[max], b[max], c[max];

intt, n;

double get_max(double

pos);

intmain()

printf(

"%.4lf\n

", get_max(l));

}return0;

}double get_max(double

pos)

題解寫的簡單,大家可以去看看三分的知識,**容易實現。

洛谷 P1883 函式

給定n個二次函式f1 x f2 x fn x 均形如ax 2 bx c 設f x max,求f x 在區間 0,1000 上的最小值。輸入格式 輸入第一行為正整數t,表示有t 組資料。每組資料第一行乙個正整數n,接著n行,每行3個整數a,b,c 用來表示每個二次函式的3個係數,注意二次函式有可能退化...

P2759 奇怪的函式 題解

csdn同步 原題鏈結 前置知識 二分,對數。簡要題意 求 x x 的位數超過或達到 n 位的最小的 x n leq 2 times 10 9 首先,x x 與 x 是正比例關係,具有單調性。樸素來說就是 x x 隨 x 增大而增大,主要因為 x 1 答案不可能是 1 啊 具有單調性的函式可以進行二...

題解 P2085 最小函式值

有n個函式,分別為f1,f2,fn。定義fi x aix 2 bix ci x n 給定這些ai bi和ci,請求出所有函式的所有函式值中最小的m個 如有重複的要輸出多個 輸入格式 輸入資料 第一行輸入兩個正整數n和m。以下n行每行三個正整數,其中第i行的三個數分別位ai bi和ci。ai 10,b...