bzoj 1911: [Apio2010]特别行动队
2016-03-18 05:43
323 查看
#include<cstdio> #include<iostream> #define M 1000009 #define ll long long using namespace std; int n,zhan[M],h,t; ll a,b,c,f[M],sum[M]; double pai(int a1,int a2) { double ss=(f[a1]-f[a2])/(1.0*a*(sum[a2]-sum[a1])); return ss-sum[a2]-sum[a1]; } int main() { scanf("%d%lld%lld%lld",&n,&a,&b,&c); for(int i=1;i<=n;i++) { int a1; scanf("%lld",&a1); sum[i]=sum[i-1]+a1; } h=0; for(int i=1;i<=n;i++) { for(;h<t&&pai(zhan[h],zhan[h+1])>=-b/(1.0*a)-2*sum[i];h++); f[i]=f[zhan[h]]+a*(sum[zhan[h]]-sum[i])*(sum[zhan[h]]-sum[i])+b*(sum[i]-sum[zhan[h]])+c; for(;h<t&&pai(zhan[t-1],zhan[t])<=pai(zhan[t],i);t--); zhan[++t]=i; } printf("%lld\n",f ); return 0; }
普通的斜率优化DP。
相关文章推荐
- 抽象类
- Python环境搭建
- 10.N个整数中查找是否相加为K[深度搜索]
- PCL Notes 1
- sizeof()用法汇总
- [复习]jQuery知识点
- Start as a fresh.....
- 仿Smarty替换模板标签时遇到的问题
- 使用GPG对文件进行加密解密批处理
- 黑客们很喜欢骇客交锋,虽然本片不被影评人认可
- 《愤怒的小鸟2》制作公司再裁人260人
- navicat 10.1.7的序列号
- POJ 3122 & 3258 & 3273 #二分
- POJ 1905 Expanding Rods#二分
- POJ 1845 Sumdiv#质因数分解+二分
- 【菜鸟手打js】@弹出遮罩层显示大图之二
- Android中ListActivity用法实例分析
- +++AJAX POST&跨域 解决方案 - CORS+++
- Android之 ListActivity 的使用和在 ListView中添加图片文字
- Yii2 Post请求的时候出现400错误