SFSA
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
const int MAXN=1e4+15;
#define ll long long
using namespace std;
ll f[MAXN];
int sum[MAXN],sumtimee[MAXN];
int num[MAXN];
int n,m;
int s;
int tail,head,que[MAXN]; int i;
int main(){
scanf("%d%d",&n,&s);
for(i=1;i<=n;i++)
{
scanf("%d%d",&sumtimee[i],&num[i]);
sum[i]=sum[i-1]+num[i];sumtimee[i]=sumtimee[i-1]+sumtimee[i];
}
head=tail=1;
que[tail++]=0;
for(i=1;i<=n;i++)
{
while(head+1<tail&&(f[que[head+1]]-f[que[head]])<=(s+sumtimee[i])*(sum[que[head+1]]-sum[que[head]]))
head++;
int k=que[head];
f[i]=f[k]-(s+sumtimee[i])*sum[k]+sumtimee[i]*sum[i]+s*sum[n]; while(head+1<tail&&(f[i]-f[que[tail-1]])*(num[que[tail-1]]-num[que[tail-2]])<=(num[i]-num[que[tail-1]])*(f[que[tail-1]]-f[que[tail-2]]))
tail--;
que[tail++]=i;
}
printf("%lld",f[n]);
return 0;
}
SFSA的更多相关文章
- 一篇SSM框架整合友好的文章(二)
上一篇讲述了DAO 层,mybatis实现数据库的连接,DAO层接口设计,以及mybtis和spring的整合.DAO层采用接口设计方式实现,接口和SQL实现的分离,方便维护.DAO层所负责的仅仅是接 ...
- springboot基于注解动态配置多数据源以及多数据源的事务统一
参考文档:https://www.cnblogs.com/zhangboyu/p/7622412.html https://blog.csdn.net/qq_34322777/article/deta ...
随机推荐
- 【LInux01】学习Linux课程体系
知识 =>技能 需要大量的练习 相当于复盘 要有成就感 在一个领域深挖,再迁移到其他领域 1.两周以后的知识留存率: 主动学习: 动手实践:40% 讲给别人听:70% 写博客:是写教程,便 ...
- MongoDB,使用C#实现2d地理位置检索
这两天在研究mongoDB,从零开始接触它,为什么要研究它呢,因为它支持2d地图索引,而且速度非常快,可以用它来做类似微信的(摇一摇功能),不过网上很难搜到.net操作的,而且就算搜索到了也不能用,也 ...
- Redis 数据总结(1 数据导入)
理论基础部分:http://www.redis.cn/topics/mass-insert.html 几百上千万的数据建议使用pipe来完成导入. 1.windows 下数据导入命令: type ou ...
- linux 安装 setuptools
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar ...
- js封装删除数组指定的某个元素的方法
首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = ...
- python3练习100题——036
原题链接:http://www.runoob.com/python/python-exercise-example36.html 题目:求100之内的素数. 之前有类似的题,所以这次遇到觉得很容易了, ...
- numpy 生成数组
可以看这个博客 https://www.cnblogs.com/td15980891505/p/6082858.html import numpy as np 建立数组并初始化数组 np.zeros( ...
- IDEA配置tomcat日志乱码
第一步(tomcat7/8) tomcat:找到tomcat文件夹下的conf文件夹,去修改里面的logging.properties文件 两种修改方式(第一种方法不行再用第二种): 将文件中的5个U ...
- jQuery-File-Upload 使用,jQuery-File-Upload上传插件
================================ ©Copyright 蕃薯耀 2020-01-10 https://www.cnblogs.com/fanshuyao/ 一.官网地址 ...
- C语言strcat()函数:字符串连接(拼接)
C语言strcat()函数:字符串连接(拼接) C语言 strcat() 函数用来将两个字符串连接(拼接)起来. 头文件:string.h 语法/原型: char*strcat(char* str ...