1370:最小函数值(minval)
【题目描述】有n个函数,分别为F1,F2,...,Fn。定义Fi(x)=Aix2+Bix+Ci(x∈N∗)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。 【输入】第一行输入两个正整数n和m。 以下n行每行三个正整数,其中第i行的三个数分别位Ai、Bi和Ci。输入数据保证Ai≤10,Bi≤100,Ci≤10000。 【输出】将这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≤10000。 |
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <queue>
using namespace std;const int idata=10000+5;
int a[idata],b[idata],c[idata];
int n,m;
int ans;int f(int node,int x)
{return a[node]*x*x+b[node]*x+c[node];
}
int main()
{cin.tie(0);ios::sync_with_stdio(false);while(cin>>n>>m){priority_queue<int,vector<int>,less<int> >heap;//大根堆int i;for(i=1;i<=n;i++){cin>>a[i]>>b[i]>>c[i];for(int j=1;j<=m;j++){if(i==1){heap.push(f(1,j));continue;}if(heap.top()>(ans=f(i,j))&&i!=1){heap.pop();heap.push(ans);}}}for(i=1;i<=m;i++){a[i]=heap.top();heap.pop();}for(i=m;i>=1;i--){cout<<a[i]<<" ";}}return 0;
}
1370:最小函数值(minval)相关推荐
- 最小函数值(minval)
有n个函数,分别为F1,F2,-,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci(x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). [输入格式 ...
- 洛谷 一种堆套路 P1631序列合并、P2085最小函数值
题目链接 序列合并 最小函数值 题解 这两道题做法基本一样,是使用同一种套路解决的,这里用序列合并来举例说明. 序列合并要求出N2N2N^2个和中最小的N个数. 我们用一个堆来维护我们需要的数,并且保 ...
- P2085 最小函数值(优先队列 分组法运用)
最小函数值 题目描述 有 nnn 个函数,分别为 F1,F2,-,FnF_1,F_2,\dots,F_nF1,F2,-,Fn.定义 Fi(x)=Aix2+Bix+Ci(x∈N∗)F_i(x)=A ...
- [优先队列] 洛谷 P2085 最小函数值
题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...
- P2085 最小函数值 堆
题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...
- 最小函数值(信息学奥赛一本通-T1370)
[题目描述] 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Aix2+Bix+Ci(x∈N∗).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). ...
- 【Luogu2085】最小函数值(优先队列)
problem 给定n个二次函数(ai,bi,ci > 0) 求前m小的fi(x)值,x>0 n, m < 1e4. solution 因为都大于0了,所以全都是单增的..x=1 时 ...
- 【洛谷 P2085】最小函数值【堆】
解题思路 所以我们建一个大根堆,存最小的数到第m小的数,第m小的数就理所当然的是堆顶了. 每次我们只需要比较新加进来的数比堆顶大还是比堆顶小. 如果比堆顶小,将原来的堆顶丢掉,将新的数塞进去: 如若比 ...
- 二叉树练习:最小函数值
Description 有n個函數,分別為F1,F2,...,Fn.定義Fi(x)=Ai*x2+Bi*x+Ci(x∈N).給定這些Ai.Bi和Ci,請求出所有函數的所有函數值中最小的m個(如有重複的要 ...
最新文章
- 推荐Scum敏捷开发的几款工具
- 计算机书籍-R语言机器学习预测分析实战
- 安装TokuDB引擎
- spring javafx_带有Spring的JavaFX 2
- ming window 交叉编译_opencv3编译pc端及交叉编译arm端
- Java Long类shortValue()方法与示例
- jQueryEasyUI框架 - panel 选项卡高度自适应
- cookie 原理及应用
- 2021北京网络安全大会议程及直播观看指南
- 使用PHP开发你必须得注意的要点
- 《奇点来临》——阿西莫夫三大定律
- C# 阿里云视频点播
- 创建oracle数据库实例
- niosii spi 外部_NIOS2随笔——SD卡之SPI操作
- 蚂蚁篇无聊吗?看看猎人骨灰粉丝绝妙分析(3)
- 基于R的飞机航线数据可视化(行政区划)
- 微信读书vscode插件_推荐 10 款有趣的 VSCode 插件
- 容斥原理与广义容斥原理
- python 可视化分析平台_python 数据分析数据可视化工具matplotlib
- Xmanager 6 安装