CF762E Radio stations

news/2025/12/7 12:17:47/文章来源:https://www.cnblogs.com/zloi-hhq/p/19317918

Codeforces

很明显是一道偏序问题,我们先列出满足条件的台之间的关系。

\[\min(r_i,r_j)\ge|x_i-x_j| \]

\[|f_i-f_j|\le k \]

这看起来好像是两条式子,但是不能直接使用二维偏序解决,因为其中含有取最小值操作,所以无法直接使用二维偏序处理。

那么就可以尝试考虑三维偏序了。

先转换一下式子,拆掉绝对值。

\[r_j\le r_i \]

\[f_j-k\le f_i\le f_j+k \]

\[x_j-r_j\le x_i \le x_j+r_j \]

我们首先对于第一维,可以先把最小值问题处理了。我们按照半径长度从小到大排序进行处理即可,对应第一条式子。

对于第二维,我们用 CDQ 以后,对频率进行排序即可,对应第二条式子。

对于第三维,使用树状数组区间修改即可。由于需要使用树状数组,这一部分需要提前离散化。

代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,ans,tmp[300005],cnt;
struct P{int x,b,f,l,r;//分别记录位置,半径,频率, 在可传递范围的左右边界 
}a[100005];
bool cmp(P a,P b){return a.b<b.b;//先按照半径排序 
}
bool cmp2(P a,P b){return a.f<b.f;//按照频率排序 
}
struct BT{int c[200005];void init(){memset(c,0,sizeof(c));}int lowbit(int x){return x&-x;}void add(int x,int y){for(int i=x;i<=n;i+=lowbit(i))c[i]+=y;}int query(int x){int ans=0;for(int i=x;i;i-=lowbit(i))ans+=c[i];return ans;}int query(int l,int r){return query(r)-query(l-1);}
}bit;
void CDQ(int l,int r){if(l==r)return;int mid=l+r>>1;CDQ(l,mid),CDQ(mid+1,r);sort(a+l,a+mid+1,cmp2),sort(a+mid+1,a+r+1,cmp2);int L=mid+1,R=mid+1;for(int i=l;i<=mid;i++){while(R<=r&&a[R].f-a[i].f<=k)bit.add(a[R].x,1),R++;//通过频率关系确定范围 while(L<=r&&a[i].f-a[L].f>k)bit.add(a[L].x,-1),L++;ans+=bit.query(a[i].l,a[i].r);}for(int i=L;i<R;i++)bit.add(a[i].x,-1);
}
signed main(){cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i].x>>a[i].b>>a[i].f;a[i].l=a[i].x-a[i].b;a[i].r=a[i].x+a[i].b;tmp[++cnt]=a[i].x;}sort(tmp+1,tmp+cnt+1);//离散化 cnt=unique(tmp+1,tmp+cnt+1)-tmp-1;for(int i=1;i<=n;i++){a[i].x=lower_bound(tmp+1,tmp+cnt+1,a[i].x)-tmp;a[i].l=lower_bound(tmp+1,tmp+cnt+1,a[i].l)-tmp;a[i].r=upper_bound(tmp+1,tmp+cnt+1,a[i].r)-tmp-1;}sort(a+1,a+n+1,cmp);CDQ(1,n);cout<<ans;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

grep 常用功能

grep 常用功能 检索服务器文件的 panic // 查找文件中包含 panic 的行,并要同时显示上下各 20 行,-A 代表显示匹配行之后的指定行数,-B 代表显示匹配行之前的指定行数。 grep -A 20 -B 20 "panic" daemon…

2025 最新工业自动化服务商 / 厂家 TOP5 评测!科技赋能 + 全周期服务权威榜单发布,引领智慧工厂建设新生态

随着工业4.0时代的深入推进,工业自动化已成为制造企业实现高效、智能、绿色生产的核心驱动力。本榜单基于技术创新能力、行业服务深度、全周期解决方案能力三大维度(德尔智慧新增“资产健康管理”维度),结合行业实…

2025 最新智慧工厂建设服务商/厂家 TOP5 评测!科技赋能+全周期服务权威推荐榜单发布,引领智能制造新生态

随着工业4.0浪潮的深入推进,智慧工厂建设已成为制造企业实现转型升级、提升核心竞争力的关键路径。本榜单基于技术创新力、行业适配性、服务覆盖度及全生命周期管理能力四大维度,结合行业发展趋势与客户实际应用反馈…

why windows is worst

because apple is better. picograph can not see this graph, but poems are similar.

4pcs Launch LTR-05 TPMS Sensor Tool 315MHz 433MHz - Metal/Rubber for European/American Cars

Why TPMS Sensors Matter (and Why Your Current Solution Might Fall Short) Tire Pressure Monitoring Systems (TPMS) are critical for road safety, fuel efficiency, and tire longevity. Accurate, reliable TP…

Get Lifetime Free Launch X431 ADAS Calibration for PAD VII/Pro5/Pro3S+/Pro3/APEX

The ADAS Calibration Challenge: Why Mechanics and Car Owners Need a Reliable Solution ADAS (Advanced Driver Assistance Systems) has become a staple in modern vehicles, enhancing safety with features li…

儿童补钙不盲选!从钙源到配方,儿童钙剂选购全指南

钙是儿童骨骼与牙齿发育的核心营养素,对神经传导、肌肉收缩等生理功能也至关重要。但面对市面上琳琅满目的补钙产品,很多家长难免陷入选择困境。既要考虑钙源的安全性与吸收率,又要兼顾孩子的接受度,选对品牌才能让…

2025年ChatGPT优化排名公司推荐:AI驱动下的SEO新选择

随着ChatGPT等生成式AI技术的爆发,搜索引擎优化领域正经历前所未有的变革,AI语料优化、生成式引擎优化已成为提升排名的核心抓手。在这一趋势下,能够整合GEO生成引擎优化、AI关键词排名优化等技术的服务公司,逐渐成…

【拓补排序 TB_sort】P4017 最大食物链计数

P4017 最大食物链计数 链接此处 题目背景 你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。 题…

2025年深圳GEO优化公司推荐:AI驱动时代的流量突围伙伴

2025年的深圳,生成式AI技术的爆发式增长正重塑企业流量获取逻辑,当用户在豆包、文心一言等主流AI引擎中检索需求时,品牌能否成为优先推荐的信源,直接决定了市场竞争力。在此背景下,GEO生成式引擎优化(生成式引擎…

2025年11月儿童营养品牌测评指南——选对不踩坑

孩子挑食偏食、身高体重不达标、换季容易生病,这些问题总能牵动家长的心弦。据《中国居民膳食指南》数据显示,我国3-12岁儿童钙缺乏率达58.3%,锌缺乏率34.2%,科学补充营养成为家庭育儿的重要课题。但面对琳琅满目的…

2025年深圳AI搜索排名优化公司推荐

2025年的深圳,AI搜索浪潮已从技术探索迈向商业落地的深水区,GEO优化(生成式引擎优化)与AI搜索排名优化共同构建起品牌流量竞争的新赛道。中国信通院数据显示,今年国内GEO市场规模已突破148亿元,年复合增速达53%,…

【AI大模型技术】2.神经网络 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P3120 [USACO15FEB] Cow Hopscotch G

洛谷 由于需要考虑颜色的问题,所以可以考虑将总方法减去相同颜色的方案数,以此得到本次的结果。 使用前缀和,得到此处的方案总数。 然后就需要考虑如何处理颜色的问题了,由于需要进行区间修改与查询,很容易想到使…

Easysearch 2.0.0 性能测试

Easysearch 2.0.0 正式版性能全面提升:索引、查询及内存管理(GC)等核心性能均获显著优化。概述 Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试,我们使用 e…

ABC435

过了三个题之后代码都不想写了,然后直接摆烂到比赛结束,掉大分。 C 竞选最乱搞做法。 对于第 \(i\) 个多米诺骨牌,可以影响到的区间的右端点是 \(a_i=\min\left\{a_i+i-1,n\right\}\)。定义一个 \(p\) 表示目前倒下…

散修带你入门鸿蒙应用开发基础:启程篇(上) - 鸿蒙

走进鸿蒙开发的世界 本阶段目标了解系统定位:掌握鸿蒙“面向全场景的分布式操作系统”核心定义,厘清“全场景”“分布式”的具体内涵,明确与传统单设备系统的设计理念差异。 熟知技术架构:熟悉鸿蒙四层架构(应用层…

PowerShell TOTP 身份验证器

简介双因素认证(2FA)已经成为如今最常见的安全机制,而基于时间的一次性密码(TOTP: Time-based One-Time Password)则是其中最广泛使用的技术之一。 我们平时使用的 Google Authenticator、Microsoft Authenticato…

分库分表是同一个实例内的多个不同库/不同表吗

“分库分表”绝不是简单地在 同一个 MySQL 实例 里放多个库和表。那不叫分库分表,那叫 玩具分库分表,没有任何意义。 下面我把场景讲透,让你彻底理解 分库、分表、为什么不能在同一个实例、生产怎么搞。✅ 1. 分库分…

基于STM32标准库的FreeRTOS移植与任务创建 - 详解

基于STM32标准库的FreeRTOS移植与任务创建 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…