尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P8272 [USACO22OPEN] Apple Catching G

P8272 [USACO22OPEN] Apple Catching G
📅 发布时间:2026/6/18 13:59:43

洛谷

先考虑推导式子。

设我们选择的奶牛为 \(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;
}

相关新闻

  • P8187 [USACO22FEB] Robot Instructions S
  • P8271 [USACO22OPEN] COW Operations S
  • Manim介绍

最新新闻

  • DolphinDB Kafka数据接入:消息队列集成
  • 合肥高新区 房屋修缮|维小达|墙面/吊顶/窗户/壁纸壁布/瓷砖美缝/石材修复全屋破损翻新一站式服务 - 维小达科技
  • 跑遍广州 7 家黄金回收店!实测总结普通人通用变现公式 + 避坑指南 - 奢侈品回收评测
  • okbiye 毕业论文专项 AI 写作:重构毕业撰文全链路,消解数万学子论文创作多层桎梏
  • 西安旧黄金回收靠谱渠道推荐|2026避坑保价完整版 - 奢侈品回收测评
  • Legacy iOS Kit终极指南:3步让你的旧iPhone/iPad重获新生

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号