[优先队列] 洛谷 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个数应该输出到一行,用空格隔开。
输入输出样例
3 10 4 5 3 3 4 5 1 7 1
9 12 12 19 25 29 31 44 45 54
说明
数据规模:n,m<=10000
题解
- 这题的思想和上一题的思想差不多
代码
1 #include<bits/stdc++.h> 2 #define N 100010 3 using namespace std; 4 struct node{ int num,d,v;}k; 5 priority_queue<node,vector<node>,less<node> >Q; 6 bool operator <(node a,node b) {return a.v>b.v;} 7 int n,m,a[N],b[N],c[N]; 8 int main() 9 { 10 scanf("%d%d",&n,&m); 11 for (int i=1;i<=n;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]),Q.push((node){i,1,a[i]+b[i]+c[i]}); 12 while (m--) printf("%d ",Q.top().v),k=Q.top(),Q.pop(),Q.push((node){k.num,k.d+1,a[k.num]*(k.d+1)*(k.d+1)+b[k.num]*(k.d+1)+c[k.num]}); 13 }
转载于:https://www.cnblogs.com/Comfortable/p/10328051.html
[优先队列] 洛谷 P2085 最小函数值相关推荐
- 洛谷P2085ssl1411OJ1370-最小函数值【堆,贪心】
前言 有一个东西卡了我一会 折叠N*或N+ 正整数集 (由全体正整数组成的集合) N*:={1,2,3,-,n,-} 题目 洛谷P2085 OJ1370 给出n个ai,bi,ci.定义一个函数 fi( ...
- 洛谷4951 地震 bzoj1816扑克牌 洛谷3199最小圈 / 01分数规划
洛谷4951 地震 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #define ...
- 信息学奥赛一本通 1344:【例4-4】最小花费 | 洛谷 P1576 最小花费
[题目链接] ybt 1344:[例4-4]最小花费 洛谷 P1576 最小花费 [题目考点] 1. 图论 单源最短路径 时间复杂度: Dijkstra算法: O(V2)O(V^2)O(V2) Dij ...
- 洛谷 一种堆套路 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 ...
- 洛谷2085-最小函数值-python-(二叉堆)
最近在学习dijkstra最短路算法,朴素算法的时间复杂度是O(N^2),也就是说当数据量达到1e5的时候,1S可能就不够了,因此我们需要对算法进行优化,如果能让时间复杂度变为O(NlogN)的话,一 ...
- 升序堆和降序堆(优先队列) 洛谷1801
1 // 洛谷1801 2 // 一个升序堆,一个降序堆 3 // 降序堆维护序列的前i个最小值 4 // 插如元素的时候,如果x小于降序堆最大值,则替换,并将最大值插入升序堆:否则,直接插入升序堆 ...
- 【洛谷 P2085】最小函数值【堆】
解题思路 所以我们建一个大根堆,存最小的数到第m小的数,第m小的数就理所当然的是堆顶了. 每次我们只需要比较新加进来的数比堆顶大还是比堆顶小. 如果比堆顶小,将原来的堆顶丢掉,将新的数塞进去: 如若比 ...
- P2085 最小函数值 堆
题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...
最新文章
- 程序员 专属的新年祝福原来是这样的! (附中奖名单)
- 把大脑「复制-粘贴」到芯片上,三星、哈佛的大胆设想登上Nature子刊
- springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用
- 【LeetCode】128. 最长连续序列
- 使用pscp命令将windows系统里的文件传送到远程服务器
- linux vue node占用内存过大,vue 大型应用内存泄漏改造经验
- 多个页面同时跳转到一个页面,然后返回到上级页面
- 在Python中执行while循环
- Java 并发编程:Synchronized 及其实现原理
- [论文阅读] Active Learning for Deep Object Detection via Probabilistic Modeling
- [Java] 蓝桥杯ALGO-64 算法训练 大小写判断
- Java-Collections的sort方法对 list 进行排序
- 概率论与数理统计(一):教你一步步推贝叶斯公式
- 网页设计与制作 项目教程 项目1
- wieshark导出ftp文件_【FTP】Wireshark学习FTP流程
- 网络:网络地址到虚拟地址的映射ARP
- Java 8 effectively final
- 华为交换机 STP MSTP BPDU保护 边缘端口 BPDU过滤 根保护 环路保护 TC保护
- 基于微信小程序奶茶店在线点单管理系统#毕业设计
- 用水流的概念来玩硬件(三)----LDO与DCDC电源电路
热门文章
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解(转)
- [IoC容器Unity]第四回:使用范例
- Win2003 防木马、权限设置、IIS服务器安全配置整理
- 加入新e时代建站网后,我可以做什么
- 标签选择器用于修改html元素默认的样式,html – 为什么CSS选择器与 sign(直接子)覆盖默认样式?...
- 1126 Eulerian Path
- Python os库的使用
- 楷书书法规则_硬笔书法入门学习“三步法”,让练字不再难
- UI培训分享:UI设计师要掌握哪些知识点
- java培训要学习多久?