BZOJ1597 USACO2008土地购买
斜率优化DP。
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+;
long long f[N],n,cnt,q[N];
double eps=1e-;
bool v[N];
struct node{
long long x,y;
bool operator<(const node &b)const{
if(x==b.x)return y<b.y;
return x<b.x;
}
}a[N],b[N];
double calc(int x,int y)
{
return (double)(f[x]-f[y])/(b[y+].y-b[x+].y);
}
void solve()
{
int l=,r=;q[]=;
for(int i=;i<=cnt;++i)
{
while(l<r&&calc(q[l],q[l+])<=b[i].x)l++;
f[i]=f[q[l]]+1ll*b[i].x*b[q[l]+].y;
while(l<r&&calc(q[r-],q[r])>=calc(q[r],i))r--;
q[++r]=i;
}
return;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;++i)
{
scanf("%lld%lld",&a[i].x,&a[i].y);
}
sort(a+,a++n);
for(int i=;i<=n;++i)
{
while(cnt>&&a[i].y>=b[cnt].y)cnt--;
b[++cnt]=a[i];
}
solve();
printf("%lld\n",f[cnt]);
return ;
}
BZOJ1597 USACO2008土地购买的更多相关文章
- [bzoj1597][USACO2008]土地购买(DP斜率优化/四边形优化)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1597 分析: 1.先可以把被包含的土地可以去掉,这些土地的长宽肯定都是不会用的,具体先 ...
- 【BZOJ-1597】土地购买 DP + 斜率优化
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2931 Solved: 1091[Submit] ...
- 【bzoj1597】 土地购买
http://www.lydsy.com/JudgeOnline/problem.php?id=1597 (题目链接) 题意 购买n个矩形,每块土地的价格是它的面积,但可以同时购买多快土地. 这些土地 ...
- BZOJ1597:[USACO]土地购买(斜率优化DP)
Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 < = 1,000 ...
- bzoj1597/luogu2900 土地购买 (斜率优化dp)
首先按x从小到大排序,那么可得: f[i]=min{f[j]+x[i]*maxy[j+1..i]} 然而这样是$O(n^2)$的而且无法做优化. 然后我们考虑:如果对于某一点,存在另一点的x和y都比它 ...
- 【斜率DP】bzoj1597: [Usaco2008 Mar]土地购买
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2474 Solved: 900[Submit][ ...
- bzoj1597[Usaco2008 Mar]土地购买 斜率优化dp
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 5524 Solved: 2074[Submit] ...
- 【bzoj1597】[Usaco2008 Mar]土地购买
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3739 Solved: 1376[Submit] ...
- bzoj1597: [Usaco2008 Mar]土地购买 dp斜率优化
东风吹战鼓擂第一题土地购买送温暖 ★★★ 输入文件:acquire.in 输出文件:acquire.out 简单对比时间限制:1 s 内存限制:128 MB 农夫John准备扩大他的农 ...
随机推荐
- tensorflow环境安装
tensorflow环境安装1.安装虚拟机Virtrualbox下载地址:https://www.virtualbox.org/wiki/Downloads 2.下载安装Ubuntu镜像下载地址:ht ...
- 【codeforces】940F题解
CF Round #466的最后一题,颇有难度,正解是带修改莫队算法. [题意] 给定一个长度为\(n\)的数组\(a\),并且要求执行\(q\)个操作,有两种不同的操作: ①询问一个区间\([l,r ...
- 【洛谷】P1445 没占到1444的愤怒
继续洛谷刷水日常,突然遇到一道不是很水的题目…… https://www.luogu.org/problem/show?pid=1445 题意:给定n(1<=n<=1000000),求方程 ...
- 23 The Laws of Reflection 反射定律:反射包的基本原理
The Laws of Reflection 反射定律:反射包的基本原理 6 September 2011 Introduction 介绍 Reflection in computing is th ...
- Redis相关链接
Redis 教程 http://www.runoob.com/redis/redis-data-types.html Python操作redis学习系列之(集合)set,redis set详解 (六) ...
- Flask:初见
Windows 10家庭中文版,Python 3.6.4 从Flask官网开始学起. 介绍 Flask是一个Python的Web开发微框架,基于Werkzeug.Jinja2模块(and good i ...
- 字符串匹配算法之 kmp算法 (python版)
字符串匹配算法之 kmp算法 (python版) 1.什么是KMP算法 KMP是三位大牛:D.E.Knuth.J.H.MorriT和V.R.Pratt同时发现的.其中第一位就是<计算机程序设计艺 ...
- tf.reduce_sum函数
>>> x=[[1,2,3],[23,13,213]] >>> xx=tf.reduce_sum(x) >>> sess.run(xx) 255 ...
- FM的推导原理--推荐系统
FM:解决稀疏数据下的特征组合问题 Factorization Machine(因子分解机) 美团技术团队的文章,觉得写得很好啊:https://tech.meituan.com/deep-unde ...
- Spring框架的基本使用(AOP部分)
AOP,Aspect Oriented Programming,意为面向切面编程,是通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术.AOP采取横向抽取机制,取代了传统纵向继承体系重复 ...