SSL1411最小函数值
来源:互联网 发布:168信息数据 编辑:程序博客网 时间:2024/06/05 00:31
问题描述
有n个函数,分别为F1,F2,…,Fn。定义Fi(x)=Ai*x^2+Bi*x+Ci
(x∈N*)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。
Input
输入数据:第一行输入两个正整数n和m。以下n行每行三个正整数,其中第i行的三个数分别位Ai、Bi和Ci。Ai<=10,Bi<=100,Ci<=10 000。
Output
输出数据:输出将这n个函数所有可以生成的函数值排序后的前m个元素。这m个数应该输出到一行,用空格隔开。
Sample Input
3 10
4 5 3
3 4 5
1 7 1
Sample Output
9 12 12 19 25 29 31 44 45 54
题解
先把所有函数x=1的值放进堆a,用b记录对应a的x值。然后输出m次a[1],每输出一次都把a[1]赋值为对应函数的x+1的值,再维护堆。
代码
var f:array[0..10000,1..3]of longint; a,b:array[1..10000]of longint; n,m,i,j:longint;procedure down(i:longint);var t,j:longint;begin if i>=n then exit; i:=i*2; if (i+1<=n)and(a[i+1]<a[i]) then inc(i); while (i<=n)and(a[i div 2]>a[i]) do begin t:=a[i]; a[i]:=a[i div 2]; a[i div 2]:=t; t:=b[i]; b[i]:=b[i div 2]; b[i div 2]:=t; f[0]:=f[i]; f[i]:=f[i div 2]; f[i div 2]:=f[0]; i:=i*2; if (i+1<=n)and(a[i+1]<a[i]) then inc(i); end;end;procedure up(i:longint);var t:longint;begin if i=1 then exit; while (i>1)and(a[i]<a[i div 2]) do begin t:=a[i]; a[i]:=a[i div 2]; a[i div 2]:=t; t:=b[i]; b[i]:=b[i div 2]; b[i div 2]:=t; f[0]:=f[i]; f[i]:=f[i div 2]; f[i div 2]:=f[0]; i:=i div 2; end;end;begin readln(n,m); fillchar(a,sizeof(a),$7); for i:=1 to n do begin readln(f[i,1],f[i,2],f[i,3]); a[i]:=f[i,1]+f[i,2]+f[i,3]; b[i]:=2; up(i); end; for i:=1 to m do begin write(a[1],' '); a[1]:=f[1,1]*b[1]*b[1]+f[1,2]*b[1]+f[1,3]; inc(b[1]); down(1); end;end.
1 0
- SSL1411最小函数值
- 【堆】最小函数值
- 【堆】最小函数值
- 最小函数值(minval)
- 最小函数值
- 最小函数值
- [LUOGU2085] 最小函数值
- 最小函数值(树)
- 洛谷 P2085 最小函数值
- 洛谷2085 最小函数值
- LUOGU P2085 最小函数值
- 洛谷 P2085 最小函数值(minval)
- 洛谷 P2085 最小函数值(minval)
- |Tyvj|NOIP2004|堆|P3301 最小函数值
- 洛谷 P2085 最小函数值(minval)
- 洛谷 堆专题 最小函数值
- 最小函数值 洛谷2085 堆
- 洛谷 P2085 最小函数值(minval)
- 细胞问题-ssl 2324
- 三种获取网页源码的方法(使用MFC/Socket实现)
- [LeetCode]50. Pow(x, n)&&幂函数
- 自制操作系统2-ubuntu下的工作环境搭建
- cmd for 循环拷贝文件
- SSL1411最小函数值
- const、引用、函数调用等之间的关系
- python实现CSDN下载资源自动评分(selenium+requests)
- Enum 修复findbugs问题记录一则,List想表示不可变集合
- 持久化存储-MySql拓展-Master-Slave
- 第一篇微博
- 统计学习精要 (Elements of Statistical Learning ) 习题 2.2
- VMware Workstation 12 Pro 安装 Ubuntu15
- Spring Bean标签中abstract和parent属性