1 条题解

  • 0
    @ 2026-10-25 18:43:51

    思路

    正系数保证每函数递增;堆归并前m项,重复函数值保留,N/M均10000。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){int n,m;cin>>n>>m;vector<long long>a(n),b(n),c(n);using Q=tuple<long long,int,int>;priority_queue<Q,vector<Q>,greater<Q>>q;for(int i=0;i<n;i++){cin>>a[i]>>b[i]>>c[i];q.push({a[i]+b[i]+c[i],i,1});}while(m--){auto z=q.top();q.pop();long long v=get<0>(z);int i=get<1>(z),x=get<2>(z)+1;cout<<v<<(m?' ':'\n');q.push({a[i]*x*x+b[i]*x+c[i],i,x});}}
    
    • 1

    信息

    ID
    1402
    时间
    1000ms
    内存
    64MiB
    难度
    普及
    标签
    递交数
    1
    已通过
    1
    上传者