news 2026/4/16 15:39:16

[USACO08MAR] Land Acquisition G题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[USACO08MAR] Land Acquisition G题解

P2900 [USACO08MAR] Land Acquisition G

题目描述

Farmer John 准备扩大他的农场,眼前他正在考虑购买NNN块长方形的土地。

如果 FJ 单买一块土地,价格就是土地的面积。但他可以选择并购一组土地,并购的价格为这些土地中最大的长乘以最大的宽。比如 FJ 并购一块3×53 \times 53×5和一块5×35 \times 35×3的土地,他只需要支付5×5=255 \times 5=255×5=25元, 比单买合算。

FJ 希望买下所有的土地。他发现,将这些土地分成不同的小组来并购可以节省经费。 给定每份土地的尺寸,请你帮助他计算购买所有土地所需的最小费用。

输入格式

第一行一个整数NNN1≤N≤5×1041 \leq N \leq 5 \times 10^41N5×104)。

接下来NNN行,每行两个整数wiw_iwilil_ili,代表第iii块土地的长和宽。保证土地的长和宽不超过10610^6106

输出格式

输出买下所有土地的最小费用。

输入输出样例 #1

输入 #1

4 100 1 15 15 20 5 1 100

输出 #1

500

说明/提示

将所有土地分为三组:

  • 第一块土地为第一组,花费100×1=100100 \times 1=100100×1=100
  • 第二,三块土地为第二组,花费20×15=30020 \times 15=30020×15=300
  • 第四块土地为第三组,花费1×100=1001 \times 100=1001×100=100

总花费为500500500,可以证明不存在更优的方案。

思路

动态规划 DP
斜率优化

代码见下

#include<bits/stdc++.h>usingnamespacestd;longlongn,m=0,ma=0,f[50004];structone{longlongx,y;}a[50004],b[50004];boolcmp(one a1,one b1){if(a1.x!=b1.x){returna1.x>b1.x;}else{returna1.y>b1.y;}}intmain(){cin>>n;for(inti=1;i<=n;i++){cin>>a[i].x>>a[i].y;}sort(a+1,a+n+1,cmp);for(inti=1;i<=n;i++){if(ma<=a[i].y-1){b[++m]=a[i];ma=a[i].y;}}memset(f,62,sizeof(f));f[0]=0;for(inti=1;i<=m;i++){for(intj=max(0,i-1-30000);j<=i-1;j++){if(f[j]+b[j+1].x*b[i].y<f[i]){f[i]=f[j]+b[j+1].x*b[i].y;}//f[i]=min(f[i],f[j]+b[j+1].x*b[i].y);}}cout<<f[m]<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:22:04

如何做到数据防泄密?国内防泄密软件排行榜推荐

在数字化时代&#xff0c;数据泄密已成为企业面临的重大风险。无论是敏感文档、商业机密还是核心系统数据&#xff0c;一旦泄露都可能对企业造成巨大损失。下面为您盘点2025年最新国内防泄密软件排行榜。一、互成软件作为终端安全一体化解决方案的代表&#xff0c;互成软件以 &…

作者头像 李华
网站建设 2026/4/16 11:06:28

前端写好了,后端也联调完了,为什么上线还是这么难?

前端写好了&#xff0c;部署却要一下午&#xff0c;到底是谁的问题&#xff1f;我名义上是个全栈开发者&#xff0c;但最近感觉自己更像个“全栈救火队员”。一个前端组件&#xff0c;我可能半小时就写完了。但为了把它上线&#xff0c;我可能需要花一下午的时间&#xff0c;去…

作者头像 李华
网站建设 2026/4/16 13:02:51

jQuery EasyUI 树形菜单 - 创建复杂树形网格

jQuery EasyUI 树形网格&#xff08;TreeGrid&#xff09; - 创建复杂树形网格 jQuery EasyUI 的 TreeGrid 支持许多高级功能&#xff0c;使其成为显示复杂层级数据的强大工具。复杂 TreeGrid 通常包括以下特性&#xff1a; 多列显示复杂数据&#xff08;如任务名称、人员、日…

作者头像 李华
网站建设 2026/4/16 14:32:06

智慧农业ELK落地方案:数据驱动精准农业

对于智慧农业领域的ELK&#xff08;Elasticsearch, Logstash, Kibana&#xff09;落地方案&#xff0c;其核心在于构建一个能处理海量、多源、地理空间数据的监测与分析平台。根据研究&#xff0c;ELK不仅可用于日志分析&#xff0c;也特别适合处理物联网传感器数据&#xff0c…

作者头像 李华
网站建设 2026/4/16 14:31:49

Arbess从基础到实践(27) - 集成soular,使用soular用户统一认证登录

Arbess 是一款开源免费的 CI/CD 工具&#xff0c;支持免费私有化部署&#xff0c;轻量、简洁易用。本文将详细介绍如何安装Arbesssoular&#xff0c;实现统一认证登录。 1、soular 安装 1.1 安装 本文以CentOS操作系统为例。 下载&#xff0c;CentOS安装包下载地址&#xf…

作者头像 李华