BZOJ 1597 [Usaco2008 Mar] 土地购买
题意:中文题意,自行理解;
思路:这个题和hdu 1300 的题很像,算是一种类似于二维的扩展,题目不是很难,但窝发现网上的一些题解有些地方说的不是很清楚,在计算斜率优化式的时候,tzw大牛的博客里适宜j为最优解来进行推导的斜率式,所以最后推出来的是维护小于,所以维护下凸包,而一般大家都习惯用k作为最优解,是所以推出来的式上凸包,谈后就是在前面进行的一些小优化,以及快读,(手动写了一下快读,大概懂了小型的快读原理)
代码:
#include <cstdio> #include <algorithm> using namespace std; typedef long long LL; int n,cnt; LL x[50005],y[50005],f[50005]; int que[50005]; struct node{LL x,y;}a[50005]; inline bool cmp(node a,node b) {if(a.x==b.x)return a.y<b.y;return a.x<b.x; } inline double slop(int a,int b) {return (f[b]-f[a])*1.0/(y[a+1]-y[b+1]); }int main() {scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lld%lld",&a[i].x,&a[i].y);}cnt=0;sort(a+1,a+1+n,cmp);for(int i=1;i<=n;i++){while(cnt&&a[i].y>=y[cnt])cnt--;x[++cnt]=a[i].x;y[cnt]=a[i].y;} // for(int i=1;i<=n;i++){ // printf("test %lld %lld\n",a[i].x,a[i].y); // }int l=0,r=0;for(int i=1;i<=cnt;i++){while(l<r&&slop(que[l],que[l+1])<x[i])l++;int t=que[l];f[i]=f[t]+y[t+1]*x[i];while(l<r&&slop(que[r-1],que[r])>slop(que[r],i))r--;que[++r]=i;}printf("%lld\n",f[cnt]);return 0; }
转载于:https://www.cnblogs.com/lalalatianlalu/p/8532715.html
BZOJ 1597 [Usaco2008 Mar] 土地购买相关推荐
- BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )
既然每块都要买, 那么一块土地被另一块包含就可以不考虑. 先按长排序, 去掉不考虑的土地, 剩下的土地长x递增, 宽y递减 dp(v) = min{ dp(p)+xv*yp+1 } 假设dp(v)由i ...
- bzoj 1597: [Usaco2008 Mar]土地购买(斜率优化dp 例题)
Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000, ...
- bzoj 1597 [Usaco2008 Mar]土地购买——斜率优化dp
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1597 又一道斜率优化dp.负数让我混乱.不过仔细想想还是好的. 还可以方便地把那个负号放到x ...
- bzoj 1597: [Usaco2008 Mar]土地购买【斜率优化】
按xy降序排序,把能被完全包含的去掉 然后就得到了x升序y降序的一个数组 然后方程就显然了:f[i]=min(f[j]+y[j+1]x[i]) 斜率优化转移 说起来我还不会斜率优化呢是不是该学一下了 ...
- 决策单调性Ⅱ:斜率优化(1597: [Usaco2008 Mar]土地购买)
决策单调性Ⅰ:四边形不等式: http://blog.csdn.net/jaihk662/article/details/78174717 决策单调性: 对于dp[i] = min(dp[i], dp ...
- 【BZOJ 1597】 [Usaco2008 Mar]土地购买 (斜率优化)
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3601 Solved: 1322 Descri ...
- bzoj1597[Usaco2008 Mar]土地购买
bzoj1597[Usaco2008 Mar]土地购买 题意: n块土地,现在要求把土地分成几份,每份费用为该份中土地长最大值和宽最大值成绩,要求最小费用.n≤5000 题解: 当一块土地长宽都比另一 ...
- BZOJ1597: [Usaco2008 Mar]土地购买(dp 斜率优化)
题意 题目链接 Sol 重新看了一遍斜率优化,感觉又有了一些新的认识. 首先把土地按照\((w, h)\)排序,用单调栈处理出每个位置第向左第一个比他大的位置,显然这中间的元素是没用的 设\(f[i] ...
- bzoj1597 [Usaco2008 Mar]土地购买
题目描述 题解: 我们可以考虑这样一种情况,有一块$10*10$的土地,还有一块$1*1$的土地. 当然将$1*1$的土地合到$10*10$的土地中了. 所以我们可以先按土地$x$值从大到小排序,然后 ...
最新文章
- Android shape 绘制左右 或者上下的渐变色
- 70页论文,图灵奖得主Yoshua Bengio一作:“生成流网络”拓展深度学习领域
- 分析与解决windows10下上网很慢
- 构建之法 阅读笔记01
- java任何表达式都可以当作语句_在Java语言中语句用分号终止,并不是所有的表达式都可以构成语句...
- Spring Boot和应用程序上下文层次结构
- go channel 缓冲区最大限制_Go语言11周年,泛型问题有望明年得到解决
- 如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...
- 轻量级PHP接口框架PhalApi开源接口框架 v2.17.1源码
- C# - winform使用Dictionary的时候,程序一闪而过!
- android上传项目到码云_直播开源项目
- Java制作屏幕截图软件(还可以保存到剪切板内)
- 【知识图谱系列】基于生成式的知识图谱预训练模型
- java初学者,应该怎么去学习?
- BZOJ1230 [Usaco2008 Nov]lites 开关灯
- 微pe工具箱有linux版吗,微PE工具箱
- 计算机上机操作表格试题,全国计算机等级考试四Excel电子表格操作试题.doc
- Nutch 深入浅出
- h5在线聊天室(附源码)
- 在微型计算机系统中 视频适配器为,一级计算机基础知识整理解说.xls
热门文章
- SQLite学习笔记(三)--创建内存数据库
- css + div + js 制作HTML tab control
- 《Algorithms》Comparable 实现选择排序
- idea用maven启动zookeeper源码
- Linux 各种压缩类型文件 解压命令 整理 tar.bz2 tar.gz tgz等等
- [转]简明 Nginx Location Url 配置笔记
- 人人都是程序员?一边吐槽,一边却偷偷用,低代码工具真香
- linux服务器忘记ssh密码_【Linux】配置linux服务器之间ssh不用密码访问
- 格子染色问题 java_《Mathematical Olympiad——组合数学》——染色问题
- Detectron2和MMDetection的学习笔记