Function

题目描述

wls有n个二次函数Fi(x)=aix2+bix+ci(1≤i≤n)。
现在他想在且x为正整数的条件下求的最小值。
请求出这个最小值。

输入

第一行两个正整数n,m。
下面n行,每行三个整数a,b,c分别代表二次函数的二次项,一次项,常数项系数。
1≤n≤m≤100,000
1≤a≤1,000
−1,000≤b,c≤1,000

输出

一行一个整数表示答案。

样例输入

2 3
1 1 1
2 2 2

样例输出

13

【队友的思路】

  每次先把m当成每一份,然后先给n个,剩余的m-n就给当前增长多的那个即可.

【队友的代码】

 #pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; struct node{
ll a, b, c;
ll x, val, pri; bool operator < ( const node & rhs )const {
return pri > rhs.pri ;
}
};
priority_queue<node> Q;
int main()
{
int n, m;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
node tmp ;
scanf("%lld%lld%lld",&tmp.a,&tmp.b,&tmp.c);
tmp.x=;
tmp.pri = *tmp.a*tmp.x+tmp.a+tmp.b;
tmp.val = tmp.a*tmp.x*tmp.x+tmp.b*tmp.x+tmp.c;
Q.push(tmp);
//cout<<tmp.val<<endl;
}
for(int i=;i<=m-n;i++)
{
node tmp=Q.top();
Q.pop();
tmp.x ++ ;
tmp.pri = * tmp.a * tmp.x + tmp.a + tmp.b;
tmp.val = tmp.a * tmp.x * tmp.x + tmp.b * tmp.x + tmp.c;
Q.push(tmp); }
ll Ans = ;
while(!Q.empty())
{
node tmp = Q.top();
Q.pop();
Ans += tmp.val;
}
printf("%lld\n",Ans); return ;
}

【优先队列】Function的更多相关文章

  1. Javascript用数组实现栈和队列

    栈是遵循后进先出(LIFO)规则的一种有序集合,比如桌上的一叠书,我们只能从上面放或取. 队列是遵循先进先出(FIFO)规则的一种有序集合,比如排队,先排到的先离开. 数组也是一种有序的集合,它与上面 ...

  2. js数据结构与算法——队列

    <script> //创建一个队列 function Queue(){ let items = []; //向队尾添加一个新的项 this.enqueue = function(eleme ...

  3. js实现队列结构

    创建队列 let items function Queue { this.enqueue = function(element){ items.push(element) } this.dequeue ...

  4. JavaScript 数据结构与算法之美 - 线性表(数组、栈、队列、链表)

    前言 基础知识就像是一座大楼的地基,它决定了我们的技术高度. 我们应该多掌握一些可移值的技术或者再过十几年应该都不会过时的技术,数据结构与算法就是其中之一. 栈.队列.链表.堆 是数据结构与算法中的基 ...

  5. 【JavaScript数据结构系列】04-优先队列PriorityQueue

    [JavaScript数据结构系列]04-优先队列PriorityQueue 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识优先级队列 经典的案例场景: 登机时经济舱的普通队 ...

  6. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

  7. HDU 5875 Function 优先队列+离线

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5875 Function Time Limit: 7000/3500 MS (Java/Others) ...

  8. javascript数据结构-优先队列

    这里之所以扩充一个 有限队列 是因为,生活使用中队列通常会附加优先级,比如排队买票,一般老人和军人等会有优先权限. 实现:继承上篇的 普通队列实现.这里用一种方法,入队的时候,进行排序插入到指定位置, ...

  9. javascript实现优先队列

    1.概念 一般情况下从队列中删除元素,都是率先入队的元素.但是有些使用队列的情况不遵循先进先出的原则,这就是插队,这需要使用优选队列的数据结构来进行描述. 从优先队列中删除元素的时候,需要考虑优先级的 ...

随机推荐

  1. 深度学习面试题17:VGGNet(1000类图像分类)

    目录 VGGNet网络结构 论文中还讨论了其他结构 参考资料 2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的 ...

  2. Laravel中的Storage::disk

    Laravel中的Storage::disk 一.总结 一句话总结: Storage的disk的路径和file的路径都是一回事,都是config/filesystems.php配置文件中disks 比 ...

  3. SetThreadAffinityMask windows下绑定线程(进程)到指定的CPU核心

    原帖地址:https://www.cnblogs.com/lvdongjie/p/4476766.html 一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU ...

  4. Quartz Configuration Reference

    Quartz Configuration Reference Choose a topic: Main Configuration (configuration of primary schedule ...

  5. osg 渲染ifc数据-测试

    直接使用osg渲染ifc数据,提高渲染速度. #include "teslamanage.h" #include <QtWidgets/QApplication> #i ...

  6. Linux下手动查杀木马

    (1).模拟木马程序病原体并让其自动运行 黑客让脚本自动执行的3种方法:1.计划任务:2.开机启动:3.系统命令被人替换,定一个触发事件. 1)生成木马程序病原体 [root@youxi1 ~]# v ...

  7. 123457123456#2#----com.ppGame.ShiZi43--前拼后广--shizi游戏_pp

    com.ppGame.ShiZi43--前拼后广--shizi游戏_pp

  8. [ kvm ] 学习笔记 1:Linux 操作系统及虚拟化

    1. 前言 一台计算机是由一堆硬件设备组合而成,在硬件之上是操作系统,操作系统与计算机硬件密不可分,操作系统用来管理所有的硬件资源提供服务,各个硬件设备是通过 总线 进行连接起来的: 在操作系统之上, ...

  9. HTML布局排版5 测试某段html页面1

    除了div,常见的还有用table布局,这里直接用前面博文的页头页尾,如下面的页面的部分,是个简单的table.该页面样式,如果拖动浏览器,可以看到table和文本框总是居中,但是文本框下方那两个按钮 ...

  10. express url跳转(重定向)的实现:res.location() res.redirect()

    Express 是一个基于Node.js 实现的web框架,其响应HTTP请求的response对象中有两个响应url跳转方法res.location() res.redirect(),可以实现301 ...