SSLOJ1411 最小函式值

2021-10-22 16:26:47 字數 976 閱讀 3716

問題描述:有n個函式,分別為f1,f2,…,fn。定義fi(x)=aix^2+bix+ci

(x ∈n

+x∈n_+

x∈n+

​)。給定這些ai、bi和ci,請求出所有函式的所有函式值中最小的m個(如有重複的要輸出多個)。

輸入資料:第一行輸入兩個正整數n和m。以下n行每行三個正整數,其中第i行的三個數分別位ai、bi和ci。ai<=10,bi<=100,ci<=10 000。

輸出資料:輸出將這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個直接入隊,不僅tle,而且mle……

發現x ∈n

+x∈n_+

x∈n+

​,所以我們採取這樣的策略:先把x=1的所有情況入隊,然後我們出隊哪一列就再插入那一列。

code:

#include

#include

#include

#include

#include

#include

using

namespace std;

struct v

;int n,m,a[

10010

],b[

10010

],c[

10010];

bool

operator

<

(const v &x,

const v &y)

priority_queue h;

intmain()

while

(m--

)return0;

}

最小函式值

給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...