[BZOJ3437] 小P的牧场
来源:互联网 发布:本.西蒙斯体测数据 编辑:程序博客网 时间:2024/04/30 04:13
传送门
http://www.lydsy.com/JudgeOnline/problem.php?id=3437
题目大意
。。。
题解
斜率优化
uses math;const maxn=1000000;var sum1,sum2,s,x,f:array[0..maxn]of int64; t:array[0..maxn]of longint; i,j,k:longint; n,m,a,head,tail:longint; tt:int64;function check1(a,b,c:longint):boolean;begin exit((s[a]-s[b])>int64(c)*(sum1[a]-sum1[b]));end;function check2(a,b,c:longint):boolean;begin exit(((s[a]-s[b])*(sum1[b]-sum1[c]))>((s[b]-s[c])*(sum1[a]-sum1[b])));end;begin readln(n); sum1[0]:=0; sum2[0]:=0; for i:=1 to n do read(x[i]); for i:=1 to n do begin read(a); sum1[i]:=sum1[i-1]+a; sum2[i]:=sum2[i-1]+int64(a)*i; end; head:=0; tail:=0; f[0]:=0; for i:=1 to n do begin while (head<tail)and(check1(t[head],t[head+1],i)) do inc(head); f[i]:=f[t[head]]+x[i]+(sum1[i-1]-sum1[t[head]])*i-(sum2[i-1]-sum2[t[head]]); s[i]:=f[i]+sum2[i]; while (head<tail)and(check2(t[tail-1],t[tail],i)) do dec(tail); inc(tail); t[tail]:=i; end; writeln(f[n]);end.
0 0
- [BZOJ3437]小P的牧场
- [BZOJ3437] 小P的牧场
- bzoj3437 小P的牧场
- BZOJ3437 小P的牧场
- bzoj3437 小P的牧场
- [bzoj3437] 小P的牧场
- BZOJ3437: 小P的牧场
- BZOJ3437: 小P的牧场
- 【bzoj3437】小P的牧场
- bzoj3437 小P的牧场
- [BZOJ3437] 小P的牧场 && 斜率优化
- 【斜率优化】[BZOJ3437] 小P的牧场
- BZOJ3437 小P的牧场 斜率优化
- bzoj3437小P的牧场(斜率优化)
- 【BZOJ3437】小P的牧场 斜率优化 动态规划
- 【bzoj3437】【小p的牧场】【斜率优化dp】
- 【BZOJ3437】小P的牧场,斜率优化DP
- [BZOJ3437]小P的牧场(斜率优化dp)
- [BZOJ1060] [ZJOI2007]时态同步
- IOS 图片点击放大不失真
- 2015年终总结
- 九度OJ 1396(DP) 1397(尺取法) 1398(最值) 1399(背包,DP) 1401(未完成)
- Android Studio下ActionBar示例
- [BZOJ3437] 小P的牧场
- 关于计算机将c代码转换成汇编代码的过程描述
- const char类型的实参与“LPCTSTR”类型的形参不兼容
- 在线购物系统权限模块
- jrebel实现Java热更不用真是暴殄天物
- Elasticsearch基础知识整理
- SpringMVC静态资源无法访问的一个奇怪的问题
- 每次读取一行字符串输入
- Android BLE编程