P2900 [USACO08MAR]土地征用Land Acquisition
来源:互联网 发布:算法新解刘新宇pdf 编辑:程序博客网 时间:2024/05/16 09:40
Description
Input
Output
Sample Input
4
100 1
15 15
20 5
1 100
输入解释:
共有4块土地.
100 1
15 15
20 5
1 100
输入解释:
共有4块土地.
Sample Output
500
HINT
代码:
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1000000+5;int read(){int x=0,f=1;char ch;ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}return x*f;}int n,a,b,c;int w[maxn],q[maxn];long long s[maxn],f[maxn];long long g(int i){return a*s[i]*s[i]+b*s[i];}long long h(int j){return f[j]+a*s[j]*s[j]-b*s[j];}double slope(int j1,int j2){return (h(j1)-h(j2))/(2.0*a*(s[j1]-s[j2]));}long long js(int x){return a*x*x+b*x+c;}int main(){int i;n=read();a=read();b=read();c=read();for(i=1;i<=n;i++)w[i]=read();for(i=1;i<=n;i++)s[i]=s[i-1]+w[i];int h=1,p=0;q[++p]=0;for(i=1;i<=n;i++){while(p>h&&slope(q[h],q[h+1])<=s[i]) h++;int t=q[h];f[i]=f[t]+js(s[i]-s[t]);while(p>h&&slope(q[p],i)<slope(q[p-1],q[p])) p--;q[++p]=i;}printf("%lld",f[n]);return 0;}
阅读全文
0 0
- P2900 [USACO08MAR]土地征用Land Acquisition
- USACO08MAR Land Acquisition
- BZOJ1597[Usaco2008 Mar]土地购买(洛谷P2900)
- 【Luogu2900】土地征用(斜率优化,动态规划)
- 【UVa12265】Selling Land 贩卖土地
- Scrum忘记的土地- The Land that Scrum Forgot
- 斜率优化DPHDU-3507,HNOI2008玩具装箱,APIO特别行动队,USACO Land Acquisition
- UVa Problem 10213 How Many Pieces of Land? (土地分割)
- [Usaco08Mar] River Crossing
- Information Acquisition
- 系统锁定征用情况查询
- 【hihocoder1249 2015北京赛区A】【打标记线性扫描法】 Xiongnu's Land 土地划分使得左边比右边大且尽可能接近
- 被征用电脑后的小风波
- C调用子函数所征用的寄存器
- caffe提取特征用svm进行分类
- 洛谷P2904 [USACO08MAR]跨河River Crossing
- 洛谷P2902 [USACO08MAR]珍珠配对Pearl Pairing
- 土地积水
- 计算机视觉caffe之路第二篇:TX1基本操作和测试
- [Unity&photon]photon chat入门
- ad shift+空格 切换走线弧度
- 从高考到程序员 —— 我是一个没有参加过高考的程序员
- centos7安装opencl环境
- P2900 [USACO08MAR]土地征用Land Acquisition
- java 转义字符序列
- 图的邻接矩阵存储及遍历
- ansible技术学习总结
- ACM学习心得(5000字)
- 1005. Spell It Right (20)
- 23. Merge k Sorted Lists&优先队列
- 因特网、万维网和互联网
- Spring Boot单元测试