zoukankan      html  css  js  c++  java
  • luogu 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,Bi<=100,Ci<=10 000。

    输出格式:

    输出数据:输出将这n个函数所有可以生成的函数值排序后的前m个元素。这m个数应该输出到一行,用空格隔开。

    输入输出样例

    输入样例#1: 复制
    3 10
    4 5 3
    3 4 5
    1 7 1
    
    输出样例#1: 复制
    9 12 12 19 25 29 31 44 45 54

    说明

    数据规模:n,m<=10000

    每次取出函数值,计算后插入新的,heap维护

    #include<cstdio>
    #include<queue>
    using namespace std;
    priority_queue<int> que;
    const int maxn = 10007;
    int a[maxn],b[maxn],c[maxn],f[maxn][maxn];
    int main()
    {
        int m,n;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;++i) {
               scanf("%d%d%d",a+i,b+i,c+i);
        }    
        for(int i=1;i<=n;++i) {
               for(int w=1;w<=100;++w) {
                f[i][w]=a[i]*w*w+b[i]*w+c[i]; 
                que.push(-f[i][w]);
            }
        }
        for(int i=1,tmp;i<=m;++i){
            tmp=que.top();
            que.pop();
            printf("%d ",-tmp);
        }
        puts("");
        return 0;
    }
  • 相关阅读:
    pdf文件怎么转换成word文档
    数据库的发展历程
    数据库的三级模式
    数据库概述
    时间序列的自回归模型—从线性代数的角度来看
    数据清洗
    sql commit的三种方式
    数据库标准语言SQL((Structured Query Language)
    正则化推导转载
    leetcode刷题
  • 原文地址:https://www.cnblogs.com/sssy/p/7718380.html
Copyright © 2011-2022 走看看