P2085 最小函数值 洛谷
https://www.luogu.org/problem/show?pid=2085
题目描述
有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个数应该输出到一行,用空格隔开。
输入输出样例
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 <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#define maxn 1000015 using namespace std; int a,b,c,n,m,size;
int heap[maxn]; void put(int x)
{
int now,next;
heap[++size]=x;
if(size<=m)
{
now=size;
next=now/;
while(next>)
{
next=now/;
if(heap[now]<=heap[next]) break;
swap(heap[now],heap[next]);
now=next;
}
}
else
{
now=;
heap[now]=heap[size--];
while(now*<=m)
{
next=now*;
if(next<m&&heap[next]<heap[next+]) next++;
if(heap[now]>=heap[next]) return;
swap(heap[now],heap[next]);
now=next;
}
}
} void come_in(int a,int b,int c)
{ } int main()
{
cin>>n>>m;
cin>>a>>b>>c;
for(int x=;x<=m;x++)
{
int f=a*x*x+b*x+c;
put(f);
}
n--;
while(n--)
{
cin>>a>>b>>c;
for(int x=;x<=m;x++)
{
int f=a*x*x+b*x+c;
if(f>=heap[]) break;
put(f);
}
}
sort(heap+,heap+m+);
for(int i=;i<=m;i++)
cout<<heap[i]<<" ";
return ;
}
优先队列
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
#define forr(i,j,k) for(i=j;i<=k;i++) using namespace std; priority_queue<int,vector<int>,less<int> >que;
priority_queue<int,vector<int>,greater<int> >queu;
int n,m,a,b,c; int main()
{
cin>>n>>m;
int x,f;
cin>>a>>b>>c;
forr(x,,m)
{
f=a*x*x+b*x+c;
que.push(f);
}
n--;
while(n--)
{
cin>>a>>b>>c;
forr(x,,m)
{
f=a*x*x+b*x+c;
int topp=que.top();
if(f>=topp) break;
que.pop();
que.push(f);
}
}
forr(x,,m)
{
int toppp=que.top();
queu.push(toppp);
que.pop();
}
forr(x,,m)
{
cout<<queu.top()<<" ";
queu.pop();
}
return ;
}
P2085 最小函数值 洛谷的更多相关文章
- 最小函数值 洛谷P2085
题目描述: 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个( ...
- 洛谷P2085 最小函数值(minval)
P2085 最小函数值(minval) 218通过 487提交 题目提供者该用户不存在 标签堆高级数据结构 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目描述 有n个函数, ...
- P2085最小函数值(优先队列)
P2085 最小函数值(minval) 题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有 ...
- 洛谷P2085最小函数值题解
题目 首先我们先分析一下题目范围,\(a,b,c\) 都是整数,因此我们可以得出它的函数值在\((0,+\infty )\)上是单调递增的,,然后我们可以根据函数的性质,将每个函数设置一个当前指向位置 ...
- [洛谷P2085]最小函数值
题目大意:有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,要求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...
- 洛谷P2085——最小函数值
题目描述 有n个函数,分别为\(F_1,F_2,...,F_n\).定义\(F_i(x)=A_i*x^2+B_i*x+C_i (x∈N*)\).给定这些\(A_i.B_i和C_i\),请求出所有函数的 ...
- 洛谷 P2085 最小函数值
目录 题目 思路 \(Code\) 题目 戳 思路 首先这些函数全部单带递增,因为\(a\),\(b\),\(c\)都是正整数. 我们将全部的函数的\(x\)为\(1\)时的函数值放入优先度列(小根堆 ...
- P2085 最小函数值(minval)
题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Aix^2+Bix+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). ...
- P2085 最小函数值 (堆)
题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Aix^2+Bix+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). ...
随机推荐
- luogu愚人节比赛划水记
先放链接:愚人节比赛 说好的 不毒瘤 呢?题目都太神奇了吧! 管理员的脑洞orz T1 这个可以说是蒙数据蒙出来的,直接输出"0",AC T2 本机房dalao成功发现" ...
- javascript获取属性的两种方法及区别
javascript获取属性有两种方式,点或者中括号: var obj={} obj.x=1 console.log(obj.x)//1 第一种方式,x是字面量 try{ console.log(ob ...
- 洛谷 P2846 光开关
https://www.luogu.org/problemnew/show/P2846 好多题解用线段树来写,然而分块不是更简单好些吗? 一个数组use记录这一块进行了多少次开关操作,两边单独计算,注 ...
- HDU - 4802 - GPA (水题)
题意: 计算GPA,输入一个数字和一个字符串,用 数字×字符串对应的数值 思路: 用map对应数值,要注意的是字符串为P或者N的时候,不计入结果 代码: #include<iostream> ...
- C++系统学习之二:字符串
上一篇文章主要学习的是C++的基本类型,它们是C++语言直接定义的,它们体现了计算机硬件本身具备的能力.而本篇文章将主要学习内置类型之外的标准库所定义的类型,分别是string和vector,此外还将 ...
- HDU-2544-最短路(Bellman-Ford)
Bellman-Ford算法是一个时间复杂度很高,但是它可以用来判断负环 负环就是上面的图,那个环的整体值小于零了,所以就是负环. 我们用Bellman-Ford算法进行更新,打一个表出来: k a ...
- 【动态规划】bzoj1044: [HAOI2008]木棍分割
需要滚动优化或者short int卡空间 Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, 砍完后n根木棍 ...
- 使Linux支持exFAT和NTFS格式的磁盘
Linux支持exFAT和NTFS Linux系统默认可以自动识别到fat32格式的盘,但fat32支持的文件不能大于4G,所以只能将移动硬盘和U盘格式化为NTFS和exFAT这两种格式的,对于U盘最 ...
- shell进阶
shell 中的高级用法 1.if 单重判断 if cmd; then cmd cmd cmd fi 多重判断 单分支 if cmd;then cmd elif cmd fi 双分支 if cmd; ...
- 【php】png 图片压缩 透明底色变黑
需要使用gd库的方法 php需要引入gd扩展支持 /* * 图片压缩 ----------------------------------------------------------------- ...