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

25 LCA模拟赛3T1 ROI 2012马赛克 题解

25 LCA模拟赛3T1 ROI 2012马赛克 题解
📅 发布时间:2026/6/20 3:49:35

马赛克

题面

题解

这道题想了很久如何快速求出一个点最右边或者最左边的不相容点,但是没有什么思路。

我们将题目中给定的有序对抽象为 \((a,b)\)。

最后 xpigeon 带神给出了一个结论,就是一段序列中只要出现了两个互不相同的 \(a\) ,并且出现了两个互不相同的 \(b\),那么就一定会不相容。

我们来证明一下:

对于两个数对的情况,显然不相容。

对于三个数对的情况,假设前两个相容,那么一定是形如 \((x,y), (x, *)\) 或者 \((x, y), (*, y)\),我们讨论第一个情况,第二种情况同理。

假设前两个完全相同,那么和两个数对的情况相同,所以我们只讨论前两个不同的情况。

前两个为 \((x, y), (x, q)\) 为了出现两个互不相同的 \(a\),第三个数对一定为 \((p, *)\) 其中 \(*\) 可能为 \(y\) 或 \(q\) 或其他。

那么不管 \(*\) 取哪种情况,都会和前两个中的某一个不相容。

对于大于等于三个数对的情况,我们同样可以按照三个数对的情况推得。

有了这样一个结论,我们只需找到对于每个数对右边的第一个 \(a\) 与其不同的数对,以及第一个 \(b\) 与其不同的数对。

然后看这两个数对的位置是否都包含在我们的区间范围内即可。

时间复杂度 \(O(n)\)

code

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <vector>
#include <map>
#include <set>using namespace std;namespace michaele {const int N = 1e5 + 10;int n, m;pair <int, int> a[N];int ne1[N], ne2[N];void solve () {cin >> n;for (int i = 1; i <= n; i ++) {cin >> a[i].first >> a[i].second;}for (int i = n; i >= 1; i --) {if (a[i + 1].first != a[i].first) ne1[i] = i + 1;else ne1[i] = ne1[i + 1];if (a[i + 1].second != a[i].second) ne2[i] = i + 1;else ne2[i] = ne2[i + 1];}cin >> m;for (int i = 1; i <= m; i ++) {int l, r, x, y;cin >> l >> r;x = ne1[l], y = ne2[l];if (x > r || y > r) {cout << "0 0" << endl;} else if (a[l].second != a[x].second) {cout << l << ' ' << x << endl;} else if (a[l].first != a[y].first) {cout << l << ' ' << y << endl;} else {cout << x << ' ' << y << endl;}}}}int main () {michaele :: solve ();return 0;
}

相关新闻

  • uni-app x开发商城系统,Swiper 轮播图
  • 昂瑞微OM6651A:国产车规级蓝牙芯片的破局者
  • 打破应用跳转流失困局,提升推广链接转化率

最新新闻

  • 前向车辆最小转弯约束下的两点间最短路径生成工具(MATLAB实现+图形可视化)
  • 2026年即时零售无人仓加盟推荐:无人外卖仓/外卖闪电仓/前置仓无人仓/即时零售运营加盟全解析 - 海棠依旧大
  • 2026年东莞全域保洁服务公司推荐:开荒清洁/外墙清洗/石材养护/甲醛治理/油烟管道清洁/日常驻场保洁 - 海棠依旧大
  • CVE-2025-55182本地复现:路径遍历漏洞原理与实战利用详解
  • 麻省理工研究人员打造 Fractal 操作系统,获苹果 M1 芯片新发现
  • React写的WebVR全景看房跳转demo,带贝壳式热点导航和视角控制

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 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 号