【斜率优化】BZOJ1597(Usaco2008 Mar)[土地购买]题解
来源:互联网 发布:阿里云邮箱手机验证 编辑:程序博客网 时间:2024/05/18 08:41
题目概述
有
解题报告
由于要买下所有土地,所以如果对于
然后就会发现这是线性DP,
示例程序
#include<cstdio>#include<algorithm>#define fr first#define sc secondusing namespace std;typedef long long LL;const int maxn=50000;int n;pair<int,int> a[maxn+5];int Head,Tail,que[maxn+5];LL f[maxn+5];inline bool cmp(pair<int,int> a,pair<int,int> b) {return a>b;}inline LL X(int i,int j) {return a[i+1].fr-a[j+1].fr;}inline LL Y(int i,int j) {return f[j]-f[i];}int main(){ freopen("program.in","r",stdin); freopen("program.out","w",stdout); scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d%d",&a[i].fr,&a[i].sc);sort(a+1,a+1+n,cmp); int Tot=n;n=0;for (int i=1,MAX=0;i<=Tot;i++) if (a[i].sc>MAX) a[++n]=a[i],MAX=a[i].sc; f[0]=0;Head=1;que[Tail=1]=0; for (int i=1;i<=n;i++) { while (Head<Tail&&Y(que[Head],que[Head+1])<=X(que[Head],que[Head+1])*a[i].sc) Head++; f[i]=f[que[Head]]+(LL)a[que[Head]+1].fr*a[i].sc; while (Head<Tail&&Y(que[Tail-1],que[Tail])*X(que[Tail],i)>=Y(que[Tail],i)*X(que[Tail-1],que[Tail])) Tail--; que[++Tail]=i; } printf("%lld\n",f[n]); return 0;}
阅读全文
0 0
- 【斜率优化】BZOJ1597(Usaco2008 Mar)[土地购买]题解
- 【BZOJ1597】【Usaco2008 Mar】土地购买 斜率优化DP
- [BZOJ1597][Usaco2008 Mar]土地购买(斜率优化dp)
- 【斜率优化DP】BZOJ1597 [Usaco2008 Mar]土地购买
- bzoj1597 [Usaco2008 Mar]土地购买(变形+斜率优化)
- [bzoj1597]: [Usaco2008 Mar]土地购买(斜率优化dp)
- bzoj1597[Usaco2008 Mar]土地购买 斜率优化dp
- BZOJ1597(Usaco2008 Mar)[土地购买]--斜率优化DP
- 【斜率DP】bzoj1597: [Usaco2008 Mar]土地购买
- bzoj1597 [Usaco2008 Mar]土地购买(斜率)
- [斜率DP优化]BZOJ 1597: [Usaco2008 Mar]土地购买 题解
- [Bzoj1597][Usaco2008 Mar]土地购买
- bzoj1597 [Usaco2008 Mar]土地购买
- bzoj1597: [Usaco2008 Mar]土地购买
- [BZOJ1597][Usaco2008 Mar]土地购买
- [BZOJ1597] [Usaco2008 Mar]土地购买
- BZOJ1597 [Usaco2008 Mar]土地购买
- BZOJ1597: [Usaco2008 Mar]土地购买
- 通过非可视化的JavaBean,封装邮箱地址对象,通过JSP页面调用该对象来验证邮箱地址是否合法
- 系统导入导出工具
- Flink_WordCount_代码实例
- VS2015 报“包含在 Image 和 Image 项组中。项目项不允许这样做,它只能属于一个项组。”解决方法
- 异常
- 【斜率优化】BZOJ1597(Usaco2008 Mar)[土地购买]题解
- 数据降维的几种方法(转)
- 给新生的一点入门建议
- Java 多线程同步的五种方法
- 冒泡排序算法研究
- rsyslog 配置文件说明
- Linux学习笔记--执行带Jar包的class文件
- ionic3的自定义图标引入
- 20170927_快排应用_数组中寻找最小的K个数