当前位置: 首页 > news >正文

P8272 [USACO22OPEN] Apple Catching G

洛谷

先考虑推导式子。

设我们选择的奶牛为 \(i\),选择的苹果是 \(j\)

那么可以得到式子:

\[|x_i-x_j|\le t_j-t_i \]

直接拆掉绝对值,因为绝对值会取较大的值,所以不需要考虑二者大小关系的影响,然后即可推得两式:

\[x_i+t_i\le t_j+x_j \]

\[t_i-x_i\le t_j-x_j \]

仅在满足以上条件时可以拿到苹果。

那么此时我们就有了一个统一的衡量标准,经典的贪心思路是,对于每一个奶牛,我们去选择可以拿到,且最不容易被其它奶牛拿到的苹果。

因为苹果和奶牛在本质上没有区别,所以也可以让苹果去找奶牛。

我们将其中的一个量设置为一维,通过排序解决,另外一个量设为第二维,可以二分答案,为了方便插入删除以及二分查找,比较容易想到用一个 set 维护第二维。

那么我们就贪心的去选择接的苹果即可。

代码:

#include<bits/stdc++.h>
using namespace std;
int n,ans;
struct P{int op,x,y,n;
}a[200005];
bool cmp(P a,P b){if(a.x!=b.x)return a.x>b.x;return a.y>b.y;
}
set<pair<int,int>> s;
signed main(){cin>>n;for(int i=1,t,x;i<=n;i++){cin>>a[i].op>>t>>x>>a[i].n;a[i].x=t+x,a[i].y=t-x;}sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++){if(a[i].op==2)s.insert({a[i].y,i});else {while(a[i].n){auto it=s.lower_bound({a[i].y,0});if(s.end()==it)break;pair<int,int> tmp=*it;int id=tmp.second;int res=min(a[id].n,a[i].n);a[id].n-=res;a[i].n-=res;ans+=res;if(!a[id].n)s.erase(it);}}}cout<<ans;return 0;
}
http://www.rkmt.cn/news/75794.html

相关文章:

  • P8187 [USACO22FEB] Robot Instructions S
  • P8271 [USACO22OPEN] COW Operations S
  • Manim介绍
  • P6803 [CEOI 2020] 星际迷航
  • CF1970E3 Trails (Hard)
  • 双线性四边形等参单元程序(MATLAB实现)
  • P6706 [COCI 2010/2011 #7] KUGLICE
  • AT_arc179_d [ARC179D] Portable Gate
  • P3576 [POI 2014] MRO-Ant colony
  • flink 1.20 物化表(Materialized Tables) - 详解
  • 大模型算法学习
  • Linux——网络命令和常用服务 - 指南
  • P11580 [CCC2020] Escape Room
  • 2025最新绿色低碳工厂建设五大服务商/厂家推荐!工业智能化升级权威指南,助力企业实现双碳目标与高效生产
  • P6000 [CEOI2016] match
  • 汽车智能座舱软件、技术、分类介绍
  • 『NAS』在群晖部署图表绘制工具-Draw.io
  • PowerShell TOTP 身份验证器
  • linux 中gzip、bzip2、xz压缩、解压缩
  • Java方法
  • 【Java EE进阶 --- SpringBoot】统一特性处理
  • 2025液体钙权威品牌推荐,首选inne液体钙
  • 2025 年 12 月数粒机厂家权威推荐榜:覆盖防爆/高速/高精度/智能/视觉全自动等新型设备,制药食品农业电子多行业定制化解决方案深度解析
  • 儿童营养选对不踩坑!德国 inne以硬核品质展现品牌价值
  • 2025年12月四面弹面料厂家权威推荐榜:尼龙/涤纶/TR消光等八大品类,揭秘高弹力与舒适度的科技织物奥秘
  • 2025 年 12 月真空自耗电弧炉厂家权威推荐榜:涵盖2.5t/4t/7t真空熔炼炉型,尖端电极自耗技术深度解析与高效选购指南
  • Springboot智慧旅游管理系统6w63eon8(软件+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 【EF Core】“DB First”方案下用编程方式生成数据库模型代码
  • 面向AI时代的操作系统:openEuler在WSL环境下的高效开发实践
  • 2025 最新机器视觉检测服务商 / 厂家 TOP5 评测!智能检测赋能制造升级,权威榜单助力企业选型,智慧工厂设计、建设及管理解决方案