数轴上n<=500个站可以买东西,每个站位置Xi,库存Fi,价格Ci,运东西价格是当前运载重量的平方乘距离,求买K<=10000个东西到达点E的最小代价。

f[i,j]--到第i站不买第i站东西的最大值,转移时决策的是买上一个站的东西,f[i,j]=f(i-1,k)+(j-k)*C(i-1)+j*j*(Xi-Xi-1)。

这个拆一下就可以单调队列了。

 #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<queue>
//#include<iostream>
using namespace std; int T,E,n;
#define maxn 511
struct Point{int x,f,c;}a[maxn];
bool cmp(const Point &a,const Point &b) {return a.x<b.x;}
#define LL long long
#define maxm 10011
LL f[maxm];const LL inf=1e15;
LL que[maxm],head,tail,id[maxm];
int main()
{
scanf("%d%d%d",&T,&E,&n);
for (int i=;i<=n;i++)
scanf("%d%d%d",&a[i].x,&a[i].f,&a[i].c);
sort(a+,a++n,cmp);a[++n].x=E;
for (int i=;i<=T;i++) f[i]=inf;f[]=;
for (int i=;i<=n;i++)
{
head=tail=;
for (int j=;j<=T;j++)
{
LL tmp=f[j]-1ll*a[i-].c*j;
while (head<tail && que[tail-]>=tmp) tail--;
while (head<tail && id[head]<j-a[i-].f) head++;
que[tail]=tmp;id[tail++]=j;
f[j]=que[head]+1ll*a[i-].c*j+1ll*j*j*(a[i].x-a[i-].x);
}
}
printf("%lld\n",f[T]);
return ;
}

最新文章

  1. 时间戳与日期时间互转C语言
  2. springmvc 动态代理 JDK实现与模拟JDK纯手写实现。
  3. 【leetcode❤python】 125. Valid Palindrome
  4. swift_属性观察者
  5. eclipse创建maven管理Spark的scala
  6. OA项目笔记-从建立接口 dao impl action jsp等框架实现crud
  7. 用Log Parser Studio分析IIS日志
  8. iOS开发——UI进阶篇(四)tableView的全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除
  9. Attempt to present &lt;vc&gt; on &lt;vc&gt; which is already presenting &lt;vc&gt;/(null)
  10. OAuth2.0 在 SSO中的应用~
  11. js中继承的几种用法总结(apply,call,prototype)
  12. The prefix &quot;mvc&quot; for element &quot;mvc:annotation-driven&quot; is not bound 的解决方法
  13. IOS基础之 (七) 分类Category
  14. angular事件代理
  15. nodeJS之域名DNS
  16. java中Object转String
  17. 获取 修改 CSS 样式
  18. PHP实现统计在线人数功能示例
  19. hadoop 数据倾斜
  20. druid数据源连接oracle10g报错:not support oracle driver 1.0

热门文章

  1. Javaweb学习笔记3—Serverlet
  2. pspad的一个怪现象:在一些空行的位置出现个别不该出现的字符
  3. java环境变量配置-简易菜鸟版
  4. CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍
  5. Python3简明教程(二)—— 变量和数据类型
  6. 事件绑定、取消的二种形式 &amp; call
  7. du - 报告磁盘空间使用情况
  8. this.$Message.success(&#39;提示信息&#39;) 少写了一个c 导致报错
  9. axios添加了header信息后发送的get请求自动编程option请求了
  10. 【分享】 封装js操作textarea 方法集合(兼容很好)。