洛谷 P2085 最小函数值(minval)
来源:互联网 发布:centos 安装spine 编辑:程序博客网 时间:2024/06/16 09:51
题目大意:
在很多个函数a[i]*x^2+b[i]*x+c[i],求出最小的M个。
堆:
1.将x=1时的全部函数加入堆里建立一个堆。
2.每次找最小的函数输出,然后把这个函数的x+1的结果加入堆,排序。
时间复杂度:O(N+M)
var a:array [0..10001,1..3] of longint; f,b:Array [0..10001] of longint; n,m,i,j,ans:longint;procedure down(x:longint);begin repeat x:=x*2; if x<n then if f[x]>f[x+1] then inc(x); if f[x div 2]>f[x] then begin f[0]:=f[x div 2]; f[x div 2]:=f[x]; f[x]:=f[0]; a[0]:=a[x div 2]; a[x div 2]:=a[x]; a[x]:=a[0]; b[0]:=b[x div 2]; b[x div 2]:=b[x]; b[x]:=b[0]; end else break; until x*2>n;end;begin readln(n,m); for i:=1 to n do begin for j:=1 to 3 do begin read(a[i,j]); f[i]:=f[i]+a[i,j]; end; b[i]:=1; end; for i:=n div 2 downto 1 do down(i); for i:=1 to m do begin write(f[1],' '); inc(b[1]); f[1]:=a[1,1]*b[1]*b[1]+a[1,2]*b[1]+a[1,3]; down(1); end;end.
0 1
- 洛谷 P2085 最小函数值(minval)
- 洛谷 P2085 最小函数值(minval)
- 洛谷 P2085 最小函数值(minval)
- 洛谷 P2085 最小函数值(minval)
- 洛谷 P2085 最小函数值(minval)
- 洛谷 P2085 最小函数值
- 最小函数值(minval)
- LUOGU P2085 最小函数值
- 洛谷P2085最小函数值STL模板解题报告
- 洛谷2085最小函数值(minval) + 洛谷1631序列合并
- [luogu]P2085最小函数值-堆排的玄学运用
- 洛谷2085 最小函数值
- 8.2 minval
- 洛谷 堆专题 最小函数值
- 最小函数值 洛谷2085 堆
- 【堆】最小函数值
- 【堆】最小函数值
- 最小函数值
- android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地
- Java Foreach的局限性
- Optimizing HTTPS on Nginx
- 【面试题】剑指offer 3
- HTTP协议详解
- 洛谷 P2085 最小函数值(minval)
- 转发到之前页面
- .NET/C# 开源资源收集
- 推荐一个好用的图片标注软件——by 蠢鱼
- IntelliJ IDEA 使用心得与常用快捷键
- 疯狂Java笔记:3.5 基本类型转换
- 文章标题
- Cocos2dx 贝塞尔曲线
- kal虚拟机统下安装open-vmware-tools