最小函式值

2021-10-25 06:41:19 字數 1106 閱讀 2201

【題目描述】

有 n 個函式,分別為 f1,f2,...,fn。定義 fi(x)=ai*x^2+bi*x+ci (x∈n∗)。給定這些ai、bi 和 ci,請求出所有函式的所有函式值中最小的 m 個(如有重複的要輸出多個)。

【輸入】

第一行輸入兩個正整數 n 和 m。

以下 n 行每行三個正整數,其中第ii行的三個數分別位 ai、bi 和 ci。輸入資料保證 ai≤10,bi≤100,ci≤10000。

【輸出】

將這 n 個函式所有可以生成的函式值排序後的前 m 個元素。這 m 個數應該輸出到一行,用空格隔開。

【輸入樣例】

3 10

4 5 3

3 4 5

1 7 1

【輸出樣例】

9 12 12 19 25 29 31 44 45 54
【提示】

【資料規模】n, m ≤ 10000。

【思路】

先讀入資料,分別讀入三個陣列,然後把他們製作成堆,再用迴圈,每輸出乙個就進行刪除,排序。

維護乙個小根堆,裡面的值為,按照要求每次輸出堆頂,並將堆頂函式中的x加1再下調整個堆,直到輸出 m 次堆頂。

【ac**】

#include#includeusing namespace std;

int n, m;

struct node;

bool operator < (node s1, node s2)

priority_queuepq;

int f(int a, int b, int c, int x)

int main());

} while(m--));

} return 0;

}

最小函式值

給n個函式。fi x ai x 2 bi x ci 給定這些ai bi和ci,請求出所有函式的所有函式值中最小的m個。3 10 4 5 3 3 4 5 1 7 1 9 12 12 19 25 29 31 44 45 54 維護乙個小根堆,裡面的值為,按照要求每次輸出堆頂,並將堆頂函式中的x加1再下調...

最小函式值

最小函式值 time limit 1000ms memory limit 65536k total submit 121 accepted 54 description 問題描述 有n個函式,分別為f1,f2,fn。定義fi x ai x 2 bi x ci x n 給定這些ai bi和ci,請求出...

最小函式值

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