博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3437
阅读量:6419 次
发布时间:2019-06-23

本文共 833 字,大约阅读时间需要 2 分钟。

练一下斜率优化

1 var s1,s2,f:array[0..1000010] of int64; 2     q,a,b:array[0..1000010] of longint; 3     i,n,h,t,j:longint; 4  5 function g(j,k:longint):double; 6   var a,b:double; 7   begin 8     a:=f[j]-f[k]-s2[j]+s2[k]; 9     b:=s1[k]-s1[j];10     exit(a/b);11   end;12 13 begin14   readln(n);15   for i:=1 to n do16     read(a[i]);17   for i:=1 to n do18   begin19     read(b[i]);20     s1[i]:=s1[i-1]+b[i];21     s2[i]:=s2[i-1]+int64(b[i])*int64(n-i+1);22   end;23   h:=0;24   t:=0;25   for i:=1 to n do26   begin27     while (h
=n-i+1) do inc(h);28 j:=q[h];29 f[i]:=f[j]+a[i]+s2[i-1]-s2[j]-(s1[i-1]-s1[j])*int64(n-i+1);30 while (h
=g(q[t-1],q[t])) do dec(t);31 inc(t);32 q[t]:=i;33 end;34 writeln(f[n]);35 end.
View Code

 

转载于:https://www.cnblogs.com/phile/p/4473031.html

你可能感兴趣的文章
上班第一天的BUG居然是chrome翻译功能导致的
查看>>
Android 用于校验集合参数的小封装
查看>>
iOS混合开发库(GICXMLLayout)七、JavaScript篇
查看>>
instrument 调试 无法指出问题代码 解决
查看>>
理解缓存
查看>>
im也去中心化?Startalk(星语)的去中心化设计之路
查看>>
BAT 经典算法笔试题 —— 磁盘多路归并排序
查看>>
一次完整的HTTP请求
查看>>
Nginx限制带宽
查看>>
All Web Application Attack Techniques
查看>>
归档日志ORA-19809: 超出了恢复文件数的限制
查看>>
精品德国软件 UltraShredder 文件粉碎机
查看>>
PANDAS 数据合并与重塑(join/merge篇)
查看>>
文件时间信息在测试中的应用
查看>>
Exception loading sessions from persistent storage (tomcat异常)
查看>>
直播疑难杂症排查(8)— 播放杂音、噪音、回声问题
查看>>
安装乌班图系统,并且演示有趣的linux命令,你还怕对linux无兴趣吗
查看>>
如何写gdb命令脚本
查看>>
Android ListView展示不同的布局
查看>>
iOS宏(自己使用,持续更新)
查看>>