首先我們先分析一下題目範圍,\(a,b,c\) 都是整數,因此我們可以得出它的函式值在\((0,+\infty )\)上是單調遞增的,,然後我們可以根據函式的性質,將每個函式設定乙個當前指向位置,都從從小的自變數開始找,每次找到最小的函式,並將最小函式的當前指向位置+1,因為並不知道最小函式自變數+1後的因變數是否要比現在的值要大,因此在下一次的比較中也要比較。且我們可以用堆來優化。
**
#include #include #include #include #include using namespace std;
int a[10010], b[10010], c[10010], pos[10010];
struct cym e[10010];
bool operator < (cym a, cym b)
priority_queue q;
int main()
); pos[i] = 1;
} while (m--)
); }
}
洛谷 P2085 最小函式值
有n個函式,分別為f1,f2,fn。定義fi x ai x 2 bi x ci x n 給定這些ai bi和ci,請求出所有函式的所有函式值中最小的m個 如有重複的要輸出多個 輸入格式 輸入資料 第一行輸入兩個正整數n和m。以下n行每行三個正整數,其中第i行的三個數分別位ai bi和ci。ai 10...
P2085 最小函式值 洛谷
有n個函式,分別為f1,f2,fn。定義fi x ai x 2 bi x ci x n 給定這些ai bi和ci,請求出所有函式的所有函式值中最小的m個 如有重複的要輸出多個 輸入格式 輸入資料 第一行輸入兩個正整數n和m。以下n行每行三個正整數,其中第i行的三個數分別位ai bi和ci。ai 10...
洛谷P2085 最小函式值
題目大意 有n個函式,分別為f1,f2,fn。定義fi x ai x 2 bi x ci x n 給定這些ai bi和ci,要求出所有函式的所有函式值中最小的m個 如有重複的要輸出多個 解題思路 因為 n,m leq 10000 暴力列舉肯定是不可取的。我們發現,fi x 一定不會大於fi x 1 ...