博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
USACO 土地购买
阅读量:6159 次
发布时间:2019-06-21

本文共 1738 字,大约阅读时间需要 5 分钟。

P1177 - 【USACO 】土地购买

Description

农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000).

每块土地的价格是它的面积,但FJ可以同时购买多块土地. 这些土地的价格是它们最大的长乘以它们最大的宽, 但是土地的长宽不能交换. 如果FJ买一块3x5的地和一块5x3的地,则他需要付5x5=25.
FJ希望买下所有的土地,但是他发现分组来买这些土地可以节省经费. 他需要你帮助他找到最小的经费.

Input

第1行: 一个数: N

第2..N+1行: 第i+1行包含两个数,分别为第i块土地的长和宽

Output

第一行: 最小的可行费用.

Sample Input

4

100 1
15 15
20 5
1 100

Sample Output

500

Hint

输入解释:

共有4块土地.
输出解释:
FJ分3组买这些土地: 第一组:100x1, 第二组1x100, 第三组20x5 和 15x15 plot. 每组的价格分别为100,100,300, 总共500.

Source

USACO

堆,动态规划, 斜率优化

 

简单DP,斜率优化;

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #define ll long long14 #define inf 1<<3015 #define rep(i,a,b) for(register int i=a;i<=b;i++)16 #define re register17 #define db double18 using namespace std;19 const int N=50010;20 struct node{21 ll a,b;22 }d[N],nw[N];23 ll dp[N],q[N];24 int n;25 inline ll gi( )26 {27 ll ret=0;char ch=getchar();28 while(ch<'0'||ch>'9') ch=getchar();29 while(ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=getchar();30 return ret;31 }32 inline bool cmp(const node& a,const node& b) { if(a.a!=b.a)return a.a
0&&nw[len].b<=d[i].b) len--;48 nw[len]=d[i];49 }50 q[1]=1;51 dp[0]=0;52 dp[1]=nw[1].a*nw[1].b;53 re int hd=0,tl=1;54 for(i=2;i<=n;i++) {55 while(hd+2<=tl&&getx(q[tl-2],q[tl-1]) <= getx(q[tl-1],q[tl])) q[tl-1]=q[tl--];56 while(hd
=getnum(i,q[hd+1])) hd++;57 dp[i]=getnum(i,q[hd]);58 q[++tl]=i;59 }60 printf("%lld",dp[n]);61 return 0;62 }

 

转载于:https://www.cnblogs.com/ypz999/p/6702073.html

你可能感兴趣的文章
docker使用笔记
查看>>
华为eNSP模拟器上实现FTP服务
查看>>
【全球AI人才排行榜】美国第一,中国仅排名第7
查看>>
微信小程序输入框input
查看>>
MySql字符串函数使用技巧
查看>>
Doc2Vec,Word2Vec文本相似度 初体验。
查看>>
系统ghost后变成一个盘了别的分区的文件怎么找回
查看>>
Win7+Ubuntu11
查看>>
请问华为三层交换机里面的那个从IP是个什么意思? -
查看>>
kFeedback开源啦
查看>>
大数据传输,文件传输的专业解决方案!
查看>>
阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
查看>>
JQuery:deferred对象的方法
查看>>
eyoucms问答 百度权重是什么
查看>>
win10中遇到qq视频时摄像头打不开没反应的解决方法
查看>>
介绍自己的一个Android插桩热修复框架项目QuickPatch
查看>>
关于textarea的ie9的maxlength不起作用的问题,请参考如下URL解决。
查看>>
Solr Facet 查询
查看>>
C++类的继承一
查看>>
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案...
查看>>