题目传送门
一个优先队列的水题。
题目大意就是给出几个二次函数,并按照从小到大的顺序输出它们所能的函数值(x 是正整数)
毕竟 a,b,c 都是正整数,所以当 x 是正整数时,x=1,f(1) 取得最小值。
我们可以把函数值存入一个优先队列中,当然先取出的应该是最小值。(善用 STL)
像这样定义一个优先队列 priority_queue<func, vector<func>, greater<func> > que;
然后每次取出最小值输出并弹出,然后再压入 f(x+1),如此往复。
定义一个结构体存函数,分别存函数的编号、自变量、函数值。
记得重载运算符,不然优先队列会出锅。
完整版
然而这道题数据过水,完全可以暴力 O(mn) 跑出来强行循环 m 次,每次比较 n 个函数值,找出最小的并输出。