BZOJ P3156: 防御准备
来源:互联网 发布:c语言写网络爬虫 编辑:程序博客网 时间:2024/05/21 12:41
刷斜率优化成性
我感觉我已经走火入魔了
下面是代码
#include<cstdio>#include<iostream>using namespace std;long long n,num[1000005];long long f[1000005],q[1000005],h,t;long long M(long long x){return x*x;}double xie(long long k,long long j){ return (2.0*f[j]-2.0*f[k]+M(j)-M(k)+j-k)/2.0/(j-k);}int main(){cin>>n; for(int i=1;i<=n;i++){ cin>>num[i];} f[0]=0;h=t=1;q[1]=0; for(int i=1;i<=n;i++){ while(h<t&&xie(q[h+1],q[h])<=i){ h++;}int j=q[h]; f[i]=f[j]+(i-j)*(i-j-1)/2+num[i]; while(h<t&&xie(q[t],q[t-1])>xie(i,q[t])){ t--;} q[++t]=i; } cout<<f[n]<<endl; return 0;}/*in:102 3 1 5 4 5 6 3 1 2out:18*/
0 0
- BZOJ P3156: 防御准备
- 【BZOJ】【P3156】【防御准备】【题解】【斜率优化】
- bzoj 3156: 防御准备
- bzoj 3156: 防御准备
- bzoj 3156 防御准备
- BZOJ 3156 防御准备 斜率优化DP
- bzoj 3156 防御准备 斜率优化+DP
- [BZOJ 3156]防御准备(斜率优化DP)
- bzoj 3156: 防御准备(斜率优化)
- [BZOJ 3156]防御准备:DP斜率优化
- bzoj 3156: 防御准备(斜率DP)
- [BZOJ 3156] 防御准备 · 斜率优化DP
- bzoj 3156 防御准备(斜率优化+DP)
- BZOJ 3156 防御准备 动态规划+斜率优化
- 斜率优化专题3——bzoj 3156 防御准备 题解
- 3156: 防御准备
- BZOJ3156 防御准备
- [BZOJ3156]防御准备
- C
- DL学习笔记【20】nn包中的各位Simple layers
- Nginx优化
- 开心的金明-动态规划-洛谷
- 客官留步!从Visual Studio看微软20年技术变迁
- BZOJ P3156: 防御准备
- 【Android实战】----基于Retrofit实现多图片/文件、图文上传
- Linux小知识
- java中的udp
- java中的Iterator和Iterable 区别
- linux 内核笔记--中断子系统之softirq
- linux文件系统详解
- Java基础知识_day02_(键盘录入,运算符)
- 选择排序